2

作为下面的示例,我正在为我的应用程序使用 If 语句,如果您按是,应用程序应该关闭。我单击“是”和“否”,无论如何,应用程序都会继续。有谁知道为什么会发生这种情况?

if (diff_ULNDOB.Any())
{
     DialogResult result1 = System.Windows.Forms.MessageBox.Show("Cannot proceed with Cross Year checks! Please see Workbook " + output + "." + " Do you wish to close the Application?", "Error",
     MessageBoxButtons.YesNo);

    if (result1 == DialogResult.Yes)
    {
       System.Windows.Forms.Application.Exit();           
    }

    Progress.Error = true;
    break;
}
4

2 回答 2

4

Environment.Exit(0);当你想关闭你的应用程序时添加。

于 2019-02-20T10:31:33.777 回答
3

我会使用Application.Exit(),因为这是一种比Environment.Exit(0).

使用的优点Application.Exit()是允许表单执行任何清理过程,例如Form.OnClose可以包括关闭数据库连接和文件处理程序。

Enivornment.Exit(0)与直接杀死进程相同,因此如果您使用它,请确保所有连接和文件都已正确释放。


以上是针对 Windows 窗体应用程序的。如果是控制台应用程序,退出应用程序的最佳方式是在Main方法中返回相关的退出代码。

于 2019-02-20T10:44:30.093 回答