当用户从文件菜单中单击退出菜单项时,应该如何退出应用程序?

我试过:

this.Dispose();
this.Exit();
Application.ShutDown();
Application.Exit();
Application.Dispose();

还有很多其他的。没有什么工作。


当前回答

如果你真的需要它来关闭,你也可以使用Environment.Exit(),但这一点都不优雅(更像是结束进程)。

使用方法如下:

Environment.Exit(0)

其他回答

如果你真的需要它来关闭,你也可以使用Environment.Exit(),但这一点都不优雅(更像是结束进程)。

使用方法如下:

Environment.Exit(0)

根据我的理解,Application.Current.Shutdown()也有它的缺点。

如果你想显示一个确认窗口让用户确认是否退出,Application.Current.Shutdown()是不可逆的。

Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;

另一种方法是:

System.Diagnostics.Process.GetCurrentProcess().Kill();

这将强制终止应用程序。它总是有效的,即使在多线程应用程序中也是如此。

注意:注意不要在另一个线程中丢失未保存的数据。

if (System.Windows.Forms.Application.MessageLoop) 
{
    // WinForms app
    System.Windows.Forms.Application.Exit();
    system.Environment.Exit(1);
}