【问题标题】:End Application in C #在 C# 中结束应用程序
【发布时间】:2019-02-20 10:29:10
【问题描述】:

作为下面的示例,我正在为我的应用程序使用 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;
}

【问题讨论】:

  • Environment.Exit(0);
  • 桌面应用程序中没有System.Windows.Forms。如果你想终止应用程序只需退出Main()函数,或者调用Environment.Exit()强制终止它
  • 那个System.Windows.Forms.Application指的是一个从未创建或启动过的Winforms应用程序

标签: c# close-application


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    我会使用Application.Exit(),因为这比Environment.Exit(0) 更简洁。

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

    Enivornment.Exit(0)和直接杀掉进程是一样的,所以如果你使用它,请确保所有的连接和文件都已经被正确释放了。


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

    【讨论】:

    • 假设这是一个 WinForm 应用程序,你是对的,但这似乎只是一个控制台应用程序。
    • @Neil 你实际上可能是对的,我认为MessageBox 把我扔到了那里!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多