gpt4 book ai didi

c# - 如何正确退出 C# 应用程序?

转载 作者:IT王子 更新时间:2023-10-29 03:30:36 24 4
gpt4 key购买 nike

我有一个已发布的 C# 应用程序。每当我通过单击红色退出按钮关闭主窗体时,窗体会关闭但不会关闭整个应用程序。我在尝试关闭计算机时发现了这一点,随后被许多带有我添加的 MessageBox 警报的子窗口轰炸。

我尝试了 Application.Exit 但它仍然会调用所有子窗口和警报。我不知道如何使用 Environment.Exit 以及将哪个整数放入其中。

此外,每当我的表单调用 FormClosedFormClosing 事件时,我都会使用 this.Hide() 函数关闭应用程序;这会影响我的应用程序的行为方式吗?

最佳答案

来自 MSDN:

Application.Exit

Informs all message pumps that they must terminate, and then closes all application windows after the messages have been processed. This is the code to use if you are have called Application.Run (WinForms applications), this method stops all running message loops on all threads and closes all windows of the application.

Environment.Exit

Terminates this process and gives the underlying operating system the specified exit code. This is the code to call when you are using console application.

本文,Application.Exit vs. Environment.Exit , 指向一个好的提示:

您可以通过检查 System.Windows.Forms.Application.MessageLoop 属性来确定是否调用了 System.Windows.Forms.Application.Run。如果为真,则 Run 已被调用,您可以假设 WinForms 应用程序正在执行如下。

if (System.Windows.Forms.Application.MessageLoop) 
{
// WinForms app
System.Windows.Forms.Application.Exit();
}
else
{
// Console app
System.Environment.Exit(1);
}

引用:Why would Application.Exit fail to work?

关于c# - 如何正确退出 C# 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12977924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com