我有兩種形式。第一個是父,並且包含所述第二和一個按鈕的引用:使用顯示和隱藏兩種形式之間的過渡不會像我預期的那樣表現
public class Form1:Form {
private Form2 frm2;
private Button btnShow;
...
}
當我按下按鈕FRM2必須顯示(可見和在所有其他窗口的前面)和Form1中必須隱藏。
當我按下frm2的關閉框時,frm2必須隱藏並且必須顯示Form1(反向)。
我用btnShow的click事件註冊一個句柄,它所做的是:
private void click(object sender, EventArgs e)
{
Hide();
frm2.Show(this);
}
和FRM2的的FormClosing事件:
private void byebye(object sender, FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
e.Cancel = true;
Hide();
Owner.Show();
}
}
我的代碼工程的90%時間,但有時(我不能指定何時)所示的形式 沒有被帶到前面或失去焦點(我不知道我認爲第一個)。
我在做什麼錯。我試過交替顯示的順序,隱藏和使用的新的參考,而不是老闆,我也用激活,BringToFront,焦點,但沒有成功...
如果您不介意您的父窗體在後臺可見,則可以使用ShowDialog代替,這是正常行爲。 – nvoigt 2013-03-03 16:43:05