tutorial que español ejemplos c# .net wpf events

que - Preguntar al usuario antes de cerrar la aplicación C#WPF.



wpf vs winforms (4)

Quiero preguntar al usuario antes de cerrar la aplicación. Es la aplicación C # .NET 4.0. Estoy usando WPF. Puedo hacerlo en Windows, pero no en WPF. El evento se activa cuando el usuario desea cerrar la aplicación, aparece el cuadro de mensaje, pero no importa qué botón se presione (Sí o No) la aplicación siempre se cierra. ¿Por qué? Donde esta el error

Funciona, pero solo cuando el usuario presiona "X". Cuando el usuario presiona el botón con Application.Current.Shutdown (); no está trabajando.

private void MainWindowDialog_Closing(object sender, System.ComponentModel.CancelEventArgs e) { MessageBoxResult result = MessageBox.Show("Do you really want to do that?", "Warning", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.No) { e.Cancel = true; } }


¿Por qué no le preguntas al usuario si quiere cerrar la aplicación y luego llama a Application.Current.Shutdown() esta manera?

private void closeButton_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show("Do you want to exit?", "Confirm", MessageBoxButton.YesNo) == MessageBoxResult.Yes) { Application.Current.Shutdown(); } }


El evento de cierre no se puede cancelar si llama a Application.Current.Shutdown() . Simplemente llame al método Window.Close() lugar, lo que le dará la oportunidad de vetar la operación de cierre. Una vez que todas las ventanas de su programa se hayan cerrado, la aplicación se cerrará automáticamente.

Para obtener más información, visite la página de Administración de aplicaciones en MSDN.


Simplemente llame a YourMainWindow.Close () y use el evento de Cierre como se describió anteriormente.


private void Form1_FormClosing(object sender, FormClosingEventArgs e) { if (MessageBox.Show("Are you sure to exit?", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) e.Cancel = false; else e.Cancel = true; }