我遇到了c#3.5應用程序窗體上的奇怪行爲。點擊按鈕後,我的form1隱藏自身,創建一個新的form2,並顯示form2。 Form1還包含form2關閉時觸發的事件方法。這裏的內部Form1的代碼:C#窗體問題:失去控制權和隨機隱藏的新窗體
Form2 form2;
void button1_Click(object sender, EventArgs e)
{
this.Hide();
form2 = new form2();
form2.Show();
form2.FormClosed += new FormClosedEventHandler(form2_FormClosed);
}
void form2_FormClosed(object sender, FormClosedEventArgs e)
{
form2.Dispose();
form2 = null;
this.Show();
}
現在,我的問題是,有時當我打開窗口2(隱藏Form1中),或者當我關閉窗口2(顯示Form1中),新的形式會在屏幕的上眨眼然後隱藏自己。它仍然是開放的,我可以從任務欄點擊它再次顯示,但窗口本身發送到任何其他打開的窗口後面。它看起來像打開了,但立即最小化。
此行爲是隨機發生的。有時候表格會被打開並隱藏起來沒有問題,但有時他們會失去對另一個窗口的關注。我嘗試過使用focus(),activate()和最頂層,但都未能阻止突然隱藏。
有誰知道爲什麼會發生這種情況,以及如何解決它?
謝謝。
爲什麼你新建form2()?不應該是form2 = new Form(); – Soviut 2009-11-15 22:13:00
@Soviut - 寫這個問題時可能只是一個錯字 – ChrisF 2009-11-15 22:21:50
你可以用ShowDialog()來試試嗎? – Stormenet 2009-11-15 22:21:57