我一直在web上進行研究,但找不到解決方案。請幫幫我。 我的情況如下:FORM1在FORM2關閉時執行某些操作
我有2種形式(FORM1
& FORM2
)。當button1
在FORM1
被點擊時,它將打開FORM2
而不關閉FORM1
並且button1
在FORM1
中的可見性將被設置爲假。
然後FORM2
會做些什麼,但我關閉FORM2
後,我想設置button1.visible = true
,但我一直未能得到這個。
應該怎麼做?
我一直在web上進行研究,但找不到解決方案。請幫幫我。 我的情況如下:FORM1在FORM2關閉時執行某些操作
我有2種形式(FORM1
& FORM2
)。當button1
在FORM1
被點擊時,它將打開FORM2
而不關閉FORM1
並且button1
在FORM1
中的可見性將被設置爲假。
然後FORM2
會做些什麼,但我關閉FORM2
後,我想設置button1.visible = true
,但我一直未能得到這個。
應該怎麼做?
採取特定的行動時,窗體2關閉,訂閱窗體2的FormClosed
事件:
Form2 f2 = new Form2();
f2.FormClosed += (s,a) => button1.Show();
f2.Show();
「當點擊FORM1上的button1時,它會打開FORM2」...因爲這個代碼位於按鈕點擊處理程序中,所以您可能必須將'e'改爲別的東西,因爲'e'很可能已經被使用。 –
,如果你不希望能夠同時窗口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
}
在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();
}
請[編輯]在這裏添加有意義的代碼。發佈一個證明你的問題的[最小化,完整,可驗證的例子](http://stackoverflow.com/help/mcve)可能會幫助你得到更好的答案。謝謝! –