当用户从文件菜单中单击退出菜单项时,应该如何退出应用程序?
我试过:
this.Dispose();
this.Exit();
Application.ShutDown();
Application.Exit();
Application.Dispose();
还有很多其他的。没有什么工作。
当用户从文件菜单中单击退出菜单项时,应该如何退出应用程序?
我试过:
this.Dispose();
this.Exit();
Application.ShutDown();
Application.Exit();
Application.Dispose();
还有很多其他的。没有什么工作。
当前回答
在xaml代码中,你可以调用一个预定义的SystemCommand:
Command="SystemCommands.MinimizeWindowCommand"
我认为这应该是首选的方式……
其他回答
根据我的理解,Application.Current.Shutdown()也有它的缺点。
如果你想显示一个确认窗口让用户确认是否退出,Application.Current.Shutdown()是不可逆的。
Try
App.Current.Shutdown();
对我来说
Application.Current.Shutdown();
没有工作。
正如wuminqi所说,Application.Current.Shutdown();是不可逆的,我相信它通常用于强制应用程序关闭时,如当用户注销或关闭Windows。
相反,在主窗口中调用this.close()。这与在窗口上按Alt + F4或关闭[x]按钮相同。这将导致所有其他拥有的窗口关闭,并最终调用Application.Current.Shutdown();只要近距离行动没有取消。请参阅MSDN文档关闭窗口。
此外,由于this.close()是可取消的,您可以在关闭事件处理程序中放入一个保存更改确认对话框。简单地为<Window Closing="…>和更改e。(有关如何做到这一点的详细信息,请参阅MSDN文档。)
根据需要使用以下任何一种方法:
1.
App.Current.Shutdown();
OR
Application.Current.Shutdown();
2.
App.Current.MainWindow.Close();
OR
Application.Current.MainWindow.Close();
以上所有的方法都会调用Window类的关闭事件,并且执行可能会在某个时候停止(因为通常应用程序会设置像'are you sure?或“关闭前要保存数据吗?”,在窗口完全关闭之前)
3.但如果您想立即终止应用程序而不发出任何警告。使用下面的
Environment.Exit(0);
Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;