当用户从文件菜单中单击退出菜单项时,应该如何退出应用程序?
我试过:
this.Dispose();
this.Exit();
Application.ShutDown();
Application.Exit();
Application.Dispose();
还有很多其他的。没有什么工作。
当用户从文件菜单中单击退出菜单项时,应该如何退出应用程序?
我试过:
this.Dispose();
this.Exit();
Application.ShutDown();
Application.Exit();
Application.Dispose();
还有很多其他的。没有什么工作。
当前回答
if (System.Windows.Forms.Application.MessageLoop)
{
// WinForms app
System.Windows.Forms.Application.Exit();
system.Environment.Exit(1);
}
其他回答
Application.Current.ShutdownMode = ShutdownMode.OnExplicitShutdown;
另一种方法是:
System.Diagnostics.Process.GetCurrentProcess().Kill();
这将强制终止应用程序。它总是有效的,即使在多线程应用程序中也是如此。
注意:注意不要在另一个线程中丢失未保存的数据。
如果你想从另一个没有创建应用程序对象的线程中退出,请使用:
这应该可以达到目的:
Application.Current.Shutdown();
如果你感兴趣,这里有一些我认为有用的额外材料:
申请详情。当前的
WPF应用程序生命周期
如果你使用application . current . shutdown()来退出应用程序,你可能会得到一个System. current . shutdown()。调用线程不能访问该对象,因为它属于另一个线程。如果从不同的线程调用它。要解决这个问题,您可以像这样包装调用
Application.Current.Dispatcher.Invoke(() => Application.Current.Shutdown());