2012-09-14 33 views
6

Estoy usando este código para la pregunta antes de cerrar la aplicación, pero no está funcionando correctamente.
Mi código es el siguiente.MessageBox al cerrar el formulario

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    DialogResult dlgresult = MessageBox.Show("Exit or no?", 
           "My First Application", 
           MessageBoxButtons.YesNo, 
           MessageBoxIcon.Information); 
    if (dlgresult == DialogResult.No) 
    { 
     e.Cancel = true; 

    } 
    else 
    { 
    Application.Exit(); 
    } 
} 
+1

¿Qué error arroja? –

+0

después de responder no se solicita nuevamente la pregunta y se cierra igualmente – Federal09

Respuesta

15

No es necesario llamar explícitamente Application.Exit() ya que estás en el evento FormClosing lo que significa que la solicitud de cierre se ha activado (por ejemplo., Haga clic en la cruz en el botón de formulario, this.Close()). Solo necesita interceptar la solicitud de cierre e indicar e.Cancel = true;

private void Form1_FormClosing(object sender, FormClosingEventArgs e) 
{ 
    if(MessageBox.Show("Exit or no?", 
         "My First Application", 
         MessageBoxButtons.YesNo, 
         MessageBoxIcon.Information) == DialogResult.No) { 
     e.Cancel = true; 
    } 
} 
+0

muchas gracias =) – Federal09

Cuestiones relacionadas