强制应用程序关闭(.net)
问题描述:
我正在寻求强制我的应用程序关闭,并返回一个退出代码。看看MSDN,我可以看到,在WPF中,应用程序有一个Shutdown方法,它将一个错误代码作为参数,但似乎没有一个用于System.Windows.Forms.Application。强制应用程序关闭(.net)
我可以看到Application.Exit(),但不能传回错误代码。
有没有人知道副手如果这是可能的?
感谢
答
您可以使用System.Environment.Exit(yourExitCode)。
答
在退出时在System.Environment类中设置ExitCode属性。例如
System.Environment.ExitCode = 1
Application.Exit()
答
一个的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);
}
当ShutdownWithE在窗体上调用了rror方法,您将关闭主窗体。这将跳出从Application.Run开始的循环。然后,您只需获取退出代码并使用Environment.Exit杀死进程。
除了错误代码之外,使用Environment.Exit over Application.Exit的任何理由? – Sekhat 2008-10-28 11:11:35
Application.Exit需要在Winforms应用程序中使用,environment.exit()可用于非GUI程序。 – 2008-10-28 12:24:33