我想在关闭应用程序之前询问用户。我使用的是C# .NET 4.0 WPF。我可以在Windows窗体中这样做,但不能在WPF中。当用户想要关闭应用程序时触发。出现消息框,无论按下哪个按钮(是或否),应用程序始终关闭。为什么?哪里出错了?
它工作,但只有当用户按下“X”。当用户使用Application.Current.Shutdown();
按下关闭按钮时,它不工作。
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;
}
}
5条答案
按热度按时间4szc88ey1#
如果调用
Application.Current.Shutdown()
,则无法取消关闭事件。只需调用Window.Close()
方法,这将给给予您否决关闭操作的机会。一旦所有程序窗口关闭,应用程序将自动关闭。有关更多信息,请查看MSDN上的应用程序管理页面。
xqkwcwgp2#
只需调用YourMainWindow.Close()并使用前面描述的Closing事件。
2nbm6dog3#
9w11ddsr4#
为什么不直接询问用户是否要关闭应用程序,然后像这样调用
Application.Current.Shutdown()
:zzlelutf5#
如果你想在关闭前添加一个事件日志,
public partial class:窗口