Environment.Exit 没有关闭[重复]
Posted
技术标签:
【中文标题】Environment.Exit 没有关闭[重复]【英文标题】:Environment.Exit doesn't close [duplicate] 【发布时间】:2019-03-26 11:40:03 【问题描述】:我有退出命令:
void CloseMethod()
//Application.Current.Shutdown();
Environment.Exit(0);
问题是,当我单击按钮时,它会隐藏 GUI,但我仍然看到应用程序在任务管理器中打开,与 Application.Current.Shutdown();
相同
【问题讨论】:
所以在按钮点击你想关闭应用程序?是Winform吗? @Rahul 它在 wpf 中 @Jan 但是为什么应用程序仍然在 tak manager 中打开??? 抱歉,不知道是WPF。对于 WPF,答案应该是这个:***.com/questions/2820357/… 您确定Task Manager
中显示的进程在您进行最新更改之前不是旧实例吗?
【参考方案1】:
您可能想调用Application.Exit();
而不是这会终止所有消息循环并关闭所有窗口,从而使您的表单能够执行其清理代码。请参阅Application.Exit 了解更多信息。引用文档
通知所有消息泵它们必须终止,然后关闭 处理完消息后的所有应用程序窗口。
对于 WPF,您应该调用 Application.Current.Shutdown();
,但请阅读文档,其中明确指出应该从 Main()
方法调用 Shutdown()
方法,因为这是创建应用程序实例的入口点
【讨论】:
【参考方案2】:您是否在应用程序中使用任何线程? 如果是这样,请确保在退出应用程序之前停止所有线程。 我通常不喜欢 .abort 命令,但您可以尝试使用
th.Abort(); //th is the name of the thread
在使用 Environment.Exit(0) 之前
【讨论】:
以上是关于Environment.Exit 没有关闭[重复]的主要内容,如果未能解决你的问题,请参考以下文章