2015-10-22 254 views
1

我有一個C#Form,其中您在開始時顯示Form1,當您按Go時,您將被帶到Form2Form1被隱藏,並顯示Form2隱藏窗體不關閉

現在,當您退出form2時,應關閉整個應用程序。當我按下退出按鈕時,我正在使用Application.Exit()。 如果用戶按XALT + F4RightClick->Close,我會遇到問題。 表單將關閉,但隱藏表單將保持打開狀態。

我該如何解決這個問題?當我按下其中一個控制按鈕時,所有隱藏的窗體也會關閉?

我試過form1_CloseForm1_Closing函數,但它們似乎沒有工作。

+1

是否有你只是躲在Form1並沒有關閉它什麼特別的原因? – Powerlord

+0

有沒有選擇返回到Form1或關閉Form2並退出程序的唯一選擇? –

+0

只需關閉Form1實例,而不是隱藏它。隨着[此代碼](http://stackoverflow.com/a/10769349/17034)停止從終止你的應用程序。現在它很簡單並且安全可靠。 –

回答

2

試試這個:

Hide(); 
Form2 form2 = new Form2(); 
form2.Closed += (s, args) => this.Close(); 
form2.Show(); 

這將關閉Form1當您關閉Form2。如果用戶按下XALT上Form2Form2和隱藏Form1 + F4RightClick -> Close將關閉。

+0

完美,我需要! –

-1
~Form2() // destructor 
    { 
     application.exit(); 
    } 

當您關閉Form2時,將按照您指定的方式關閉Form2時調用它。

相關問題