Esto debe ser una pregunta tonta, pero no puedo resolverlo. Tampoco puedo usar el diseñador porque los codificadores antes que yo logramos lanzar la GUI y la lógica, todo en uno, por lo que ahora está confundido. Tengo que hacerlo a la vieja usanza..NET Windows Forms: interceptando el evento Close X
Tengo un formulario que se puede cerrar de 3 formas: botón Cerrar, menú Archivo/Cerrar y el ícono X. Quiero que todos hagan lo mismo. Interceptar el botón y los eventos del menú es fácil. De hecho, ambos están conectados a un método onCloseConfig
. Por cierto, ¿hay un mejor nombre para este método?
private void onCloseConfig(object sender, System.EventArgs e)
{
if (! m_configControl.Modified)
{
Application.Exit(); // Or should it be this.Close();
}
....
// Else present a dialog, ask if they want to save.
}
Por lo tanto, para interceptar el X
Traté: this.FormClosing +=new FormClosingEventHandler(this.onCloseConfig);
Creo que esto es lo que causa un bucle infinito. No quiero eso :) FormClosed
es otra opción, pero parece demasiado tarde. Solo quiero interceptar el hecho de que se hizo clic en la X, no el hecho de que el formulario se está cerrando.
¡Genial! ¿Hay alguna manera de ocultar X por completo? –
No sin rodar su propia ventana cromada. – Nate
usted puede deshacerse del mínimo y cerca de cero –