Tro*_*roy 16 c# visual-studio-2010 winforms
我有一个从Excel导入数据的应用程序.但是,当我运行winforms应用程序并且我侵入应用程序时,使用System.Windows.Forms.Application.Exit();我仍然可以看到在任务管理器中运行的"MyAppName".vshost32.exe.
当我以调试模式退出应用程序时,表单关闭,但VS IDE未"停止".
如何确保应用程序正确结束.
Pol*_*ial 23
你的电话Application.Exit()工作正常.该MyAppName.vshost32.exe可执行文件是用于调试目的主机.无论是否存在活动的调试会话,它都会在Visual Studio中打开项目时运行.
更新:好的,我误解了.以上是正确的,但您可能在后台挂起线程时遇到问题.您需要终止线程以使其正常关闭.Asher的答案涵盖了这一点.如果你只是想做一个超级黑客的快速和肮脏的杀戮,你可以使用以下(虽然我不负责副作用,因为它是非常hacky):
System.Diagnostics.Process.GetCurrentProcess().Kill();
你有没有尝试过更残酷的Environment.Exit()功能?
Application.Exit()只是发送一条消息说要关机; 如果消息永远不会被处理(无论出于何种原因),应用程序将无限期地保持运行.
Exit方法停止所有线程上所有正在运行的消息循环,并关闭应用程序的所有窗口.此方法不一定强制应用程序退出.Exit方法通常在消息循环中调用,并强制Run返回.
| 归档时间: |
|
| 查看次数: |
20827 次 |
| 最近记录: |