2013-03-25 46 views
2

所以我的程序有多種形式,我需要一種方法讓某人單擊X並結束程序。我發現Environment.exit(0)是有效的,除了當我完成表單並關閉後繼續下一個時,程序結束。所以我需要點擊關閉按鈕時進行的具體調用,以便我可以將關閉代碼放在那裏。或者一個等同的建議,以便程序可以在任何屏幕上結束。作爲C#的新手我目前使用ShowDialog()來調節每個表單的輸入。單擊紅色X時有應用程序停止C#

protected override void OnFormClosing(FormClosingEventArgs e) 
{ 
    Environment.Exit(0); 
} 

這是我目前的方法,但任何時候激活的形式被關閉,因此是不是我所需要的。這是Windows窗體

+0

您現有的代碼的外觀如何? – MethodMan 2013-03-25 18:07:54

+0

這是WPF還是WinForms? – 2013-03-25 18:12:05

+0

添加了代碼,和WinForm – Syxx 2013-03-25 18:21:36

回答

3
Application.Exit(); 

它將關閉所有與您的應用程序相關的正在運行的進程。並使用

this.close(); 

要關閉您當前活動的窗體。您可以在按鈕點擊事件中調用這些方法。

對你而言,我建議你使用bool類型變量flag。製作bool類型的全局變量並將其命名爲flag,並且當您處於可以關閉整個應用程序的某個部分時,如此設置flag = true,並且當您不在這種情況下時,將其設置爲false。 現在在您的表單關閉事件中,使用以下代碼:

protected override void OnFormClosing(FormClosingEventArgs e) 
{ 
    if(flag == true) 
     Environment.Exit(0); 
} 
+0

問題是,我需要它只發生在關閉按鈕被點擊時,即默認的小紅色X,所以我需要先找到該方法 – Syxx 2013-03-25 18:19:44

+0

因此,當你想要關閉整個應用程序表格關閉? – Shaharyar 2013-03-25 18:20:58

+0

好的,好的!所以你想什麼時候執行這段代碼? – Shaharyar 2013-03-25 18:22:12

相關問題