7

我希望强制我的应用程序关闭,并返回一个退出代码。查看 MSDN,我可以看到在 WPF 中,应用程序有一个 Shutdown 方法,该方法将错误代码作为参数,但 System.Windows.Forms.Application 似乎没有。

我可以看到 Application.Exit() 但不是传回错误代码的方法。

有没有人知道这是否可能?

谢谢

4

3 回答 3

13

您可以使用 System.Environment.Exit(yourExitCode)。

于 2008-10-28T10:16:08.613 回答
2

在 System.Environment 类和退出时设置 ExitCode 属性。例如

System.Environment.ExitCode = 1
Application.Exit()
于 2008-10-28T10:17:23.743 回答
2

将 ExitCode 属性(或类似的东西)添加到您的表单类:

class MyForm : Form {
  public int ExitCode { get; set; }

  void ShutDownWithError(int code) {
    ExitCode = code;
    Close();
  }
}

在您的代码中的某处,您有:

static void Main() {
  // ...
  MyForm form = new MyForm();
  Application.Run(myForm);
}

将其更改为:

static void Main() {
  // ...
  MyForm myForm = new MyForm();
  Application.Run(myForm);
  Environment.Exit(myForm.ExitCode);
}

当在表单上调用 ShutdownWithError 方法时,您将关闭主表单。这将跳出以 Application.Run 开始的循环。然后,您只需获取退出代码并使用 Environment.Exit 终止该进程。

于 2008-10-28T10:24:50.390 回答