Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/09/2010, 08:04
Avatar de fechasoru
fechasoru
 
Fecha de Ingreso: diciembre-2008
Mensajes: 149
Antigüedad: 16 años, 3 meses
Puntos: 0
Cancelar evento Button DialogResult=DialogResult.yes

Hola!!

Tengo un formulario (Alta/ Modificación)de dialogo que lo abro en forma modal , mediante f.showdialog(). Este tiene un button aceptar (seteada su propiedad DialogResult=DialogResult.yes) y otro cancelar en(DialogResult=DialogResult.No); con el fin de comprobar si acepto desde el formulario padre.
Necesito controlar que algunos campos obligatorios del formularios estén rellenados por el usuario; en caso contrario sí presiona el botón aceptar este Deshabilitado: Acá viene la cuestión de cómo hago para cancelar el evento clic del botón aceptar.
Código:
private void button_aceptar_Click(object sender, EventArgs e)
 {
            if(!!this.validator1.Validate() || this.bindingSource_productores.Count==0 ||   this.bindingSource_asesor.Count==0)
            {
             //Acá iria algo que deshabilite el evento del click y no me cierre la ventana
            }
 }
Actualmente la solución temporaría que implemente , es no poner al boton su propiedad en DialorResult=DialogResult.yes en tiempo de diseño. Lo establezco en la condición anterior dentro del botón clic

Código:


 if(this.validator1.Validate() && this.bindingSource_productores.Count!=0 &&   this.bindingSource_asesor.Count!=0)
            { 
                This.button_aceptar.DialogResult=DialogResult.yes
            }
Pero tiene el problema , que tiene un clic en falso ; o sea el usuario debe hacer dos veces un clic para que se cierre la ventana.
Necesito ayuda de algún forista que diga como controlar dicho evento.
Saludos!!
__________________
Looking for a terrific Persistence Layer and Business Objects system for Microsoft.NET? our blog for more details.

http://www.entityspaces.net