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!!