Tengo un WinForm que creo que muestra un mensaje con un botón. Esta es una vista de WinForm personalizada, ya que un cuadro de diálogo de mensaje de diálogo no era suficiente.Detectar cuando un formulario se ha cerrado C#
Tengo un trabajador en segundo plano iniciado y en ejecución. También quiero salir del ciclo while (aBackgroundWorker.IsBusy
) si se hizo clic en el botón de myForm.
//MyProgram.cs
using(CustomForm myForm = new CustomForm())
{
myForm.Show(theFormOwner);
myForm.Refresh();
while(aBackgroundWorker.IsBusy)
{
Thread.Sleep(1);
Application.DoEvents();
}
}
En este momento, en el CustomForm
caso Button_clicked
, tengo
//CustomForm.cs
private void theButton_Click(object sender, EventArgs e)
{
this.Close();
}
¿Es necesario añadir más código a la clase CustomForm, o la ubicación en la que declarar e inicializar el formulario con el fin para poder detectar un cierre?
¿Qué forma/clase quiere usted para notificar al cierre de la ventana? – Decker97
Escribir este código no tiene sentido. Es de suponer que hay algo * después de * este ciclo. Mueva ese código al controlador de eventos RunWorkerCompleted para ese BGW. –