我曾认为 Application.Exit
会立即退出应用程序,但是从下面的示例中可以看出,它将在 for 循环结束后退出。此命令何时强制应用程序退出?
for (int I = 0; I < 1000; I++)
{
if (I == 1)
Application.Exit();
}
Application.Exit()会在返回到底层消息泵后导致应用程序退出。如果您正在UI线程中运行代码,这将要等到您从任何UI方法中返回(例如按钮单击处理程序)。
来自 MSDN:
通知所有消息泵它们必须终止,然后在处理完消息后关闭所有应用程序窗口。
-
这个方法不一定强制应用程序退出。Exit方法通常从消息循环内部调用,并强制Run返回。要仅退出当前线程的消息循环,请调用ExitThread。
请查看MSDN
Exit方法会停止所有线程上运行的消息循环并关闭应用程序的所有窗口。但是,该方法不一定强制应用程序退出。通常在消息循环内部调用Exit方法,并强制Run方法返回。要仅退出当前线程的消息循环,请调用ExitThread。