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:
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 clicprivate 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 } }
Código:
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.if(this.validator1.Validate() && this.bindingSource_productores.Count!=0 && this.bindingSource_asesor.Count!=0) { This.button_aceptar.DialogResult=DialogResult.yes }
Necesito ayuda de algún forista que diga como controlar dicho evento.
Saludos!!