Tengo un controlador de eventos de clic de botón con el siguiente pseudocódigo:C# ¿Por qué form.Close() no cierra el formulario?
private void btnSave_Click(object sender, EventArgs e)
{
if(txt.Text.length == 0)
this.Close();
else
// Do something else
// Some other code...
}
Esto es sólo un código simple, pero el punto es, cuando la longitud del texto es igual a cero, quiero cerrar el formulario. Pero en lugar de cerrar el formulario, el código ejecuta la parte // Algún otro código. Después de que el controlador de evento click se ejecuta por completo, el formulario se cierra.
sé, cuando coloco return
justo después this.Close()
forma se cerrará, pero me gustaría saber por qué la forma no es direclty de cerrado cuando se llama this.Close()
. ¿Por qué se ejecuta el resto del controlador de eventos?
Pero, intuitivamente, me gustaría excepto que cuando llame a this.Close() se cerrará el formulario, pero este no es el caso. Gracias por la aclaración. – Martijn
@Martijn: ¿Entonces el formulario permanece abierto y no cierra en absoluto? ¿Puedes mostrar qué está haciendo "algún otro código" entonces? ¿O puedes publicar una muestra simple que muestre ese comportamiento? –
@ 0x3a: Incorrecto. El formulario ejecuta todo el código en el controlador de eventos y luego cierra el formulario. Ya has respondido mi pregunta :) Me preguntaba por qué 'Close()' no destruye la forma en el momento en que se llama 'Close()'. – Martijn