如何正确退出C#应用程序? [英] How do I properly exit a C# application?

查看:0
本文介绍了如何正确退出C#应用程序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

我尝试了Application.Exit,但它仍然调用所有子窗口和警报。我也不知道如何使用Environment.Exit,也不知道要放入哪个整数。

此外,每当我的窗体调用FormClosedFormClosing事件时,我使用this.Hide()函数关闭应用程序;这是否会影响我的应用程序的行为?

推荐答案

来自msdn:

Application.Exit

通知所有消息泵必须终止,然后在处理完消息后关闭所有应用程序窗口。如果您已调用Application.Run(WinForms应用程序),此方法将停止所有线程上正在运行的所有消息循环,并关闭应用程序的所有窗口。

Environment.Exit

终止此进程并向底层操作系统提供指定的退出代码。这是您使用控制台应用程序时要调用的代码。

这篇文章Application.Exit vs. Environment.Exit指向了一个很好的提示:

您可以通过检查System.Windows.Forms.Application.MessageLoop属性来确定System.Windows.Forms.Application.Run是否已被调用。如果为True,则已调用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#应用程序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆