我正在尋求強制我的應用程序關閉,並返回一個退出代碼。看看MSDN,我可以看到,在WPF中,應用程序有一個Shutdown方法,它將一個錯誤代碼作爲參數,但似乎沒有一個用於System.Windows.Forms.Application。強制應用程序關閉(.net)
我可以看到Application.Exit(),但不能傳回錯誤代碼。
有沒有人知道副手如果這是可能的?
感謝
我正在尋求強制我的應用程序關閉,並返回一個退出代碼。看看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