2015-10-26 86 views
-1

我一直在web上進行研究,但找不到解決方案。請幫幫我。 我的情況如下:FORM1在FORM2關閉時執行某些操作

我有2種形式(FORM1 & FORM2)。當button1FORM1被點擊時,它將打開FORM2而不關閉FORM1並且button1FORM1中的可見性將被設置爲假。

然後FORM2會做些什麼,但我關閉FORM2後,我想設置button1.visible = true,但我一直未能得到這個。

應該怎麼做?

+0

請[編輯]在這裏添加有意義的代碼。發佈一個證明你的問題的[最小化,完整,可驗證的例子](http://stackoverflow.com/help/mcve)可能會幫助你得到更好的答案。謝謝! –

回答

1

採取特定的行動時,窗體2關閉,訂閱窗體2的FormClosed事件:

Form2 f2 = new Form2(); 

f2.FormClosed += (s,a) => button1.Show(); 

f2.Show(); 
+1

「當點擊FORM1上的button1時,它會打開FORM2」...因爲這個代碼位於按鈕點擊處理程序中,所以您可能必須將'e'改爲別的東西,因爲'e'很可能已經被使用。 –

0

,如果你不希望能夠同時窗口2打開Form1上進行交互下面的代碼才能正常運行,因此使用ShowDialog();

private void button1_Click(object sender, EventArgs e) 
    { 
     Form2 form2 = new Form2(); 
     form2.ShowDialog(); 

     // following code will run after form2 has been closed 
     button1.Visible = true 
    } 
0

button1的單擊事件處理程序:

private void button1_Click(object sender, EventArgs e) 
{ 
    var form2 = new Form2(); 
    button1.Visible = false; 
    form2.FormClosed += (s,ev) => button1.Visible = true; 
    form2.Show(); 
} 
相關問題