Actualmente estoy desarrollando una aplicación de formulario de Windows C#.¿Cómo se muestra un mensaje en MessageBox cuando el usuario ha hecho clic en la cruz en la barra de título?
Después de que el usuario inicie sesión a través del loginForm, se llevará al mainForm.
Me gustaría codificarlo de manera que después de que el usuario haga clic en la cruz en la barra de título en el archivo mainForm, se le preguntará al usuario "Esto cerrará la aplicación. ¿Confirmar?" seguido de un botón sí y no.
En caso afirmativo, se mostrará otro cuadro, "¡Aplicación cerrada!"
De lo contrario, el cuadro de mensaje se cerrará y la aplicación continuará ejecutándose.
Mi código actual es:
private void mainForm_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show("This will close down the whole application. Confirm?", "Close Application", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
MessageBox.Show("The application has been closed successfully.", "Application Closed!", MessageBoxButtons.OK);
System.Windows.Forms.Application.Exit();
}
else
{
this.Activate();
}
}
sin embargo, no funciona.
En primer lugar, no tengo idea de por qué el cuadro de mensaje aparece dos veces para que todo se cierre.
En segundo lugar, si hago clic en no, el formulario también se cierra y no puedo recuperarlo.
hola gracias por su respuesta. funciona pero no totalmente el resultado que yo quería. la razón por la que codifiqué en System.Windows.Forms.Application.Exit(); es porque quería que terminara toda la aplicación. no solo esa forma en sí misma, ya que no es la forma principal y tengo una forma múltiple. Entonces, ¿cómo hago para hacer eso? – Thomas
Oh, el mainForm no es la forma principal ?. De acuerdo, solo agrega la llamada de salida al caso verdadero. – Ray
hola, lo siento. todavía bastante inseguro sobre esto. ¿Qué quieres decir con eso? – Thomas