static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Exit();
Application.Run(new Form1());
}
Run Code Online (Sandbox Code Playgroud)
为什么在调用Application.Exit()之后,应用程序不会立即退出?在这一行之后,Form1仍然显示.如何立即退出申请.谢谢.
*注意:*这只是一个例子.我在显示表单之前处理了一些函数.在函数中,我有一个命令代码来调用Application.Exit(),但我想知道为什么应用程序不会立即退出.
我正在使用.NET Framework 4.0
SwD*_*n81 21
通知所有消息泵必须终止,然后在处理完消息后关闭所有应用程序窗口.
问题是,在您调用Run并创建表单之前,应用程序的消息泵才会启动.
Exit方法通常在消息循环中调用,并强制Run返回.
Chr*_*ser 12
Application.Exit是关闭程序的"好方法".处理未完成的Windows消息,然后才关闭所有窗口.这也意味着,Application.Exit只有在Windows消息循环运行时才有意义,也就是说,当程序在里面时Application.Run.您Application.Exit之前调用过Application.Run,因此没有消息循环退出.
从文档:
通知所有消息泵必须终止,然后在处理完消息后关闭所有应用程序窗口.
您正在寻找的可能是System.Environment.Exit,它或多或少会杀死进程.Environment.Exit仍然做一些清理工作.如果需要立即终止进程,可以使用System.Environment.FailFast.
小智 5
下面的代码应该可以帮助你。
if (Application.MessageLoop)
Application.Exit();
else
Environment.Exit(1);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
35453 次 |
| 最近记录: |