嗨,我正在做一個簡單的活動在C#中。我想用一個按鈕來打開一個新的窗口2,當我按下該按鈕。這裏是我的代碼在Form1將自動關閉:在C#中使用按鈕打開一個新窗體#
Form2 form2 = new Form2();
form2.ShowDialog();
this.Close();
現在我沒有想法我會用什麼方法來自動關閉Form1中。謝謝..
嗨,我正在做一個簡單的活動在C#中。我想用一個按鈕來打開一個新的窗口2,當我按下該按鈕。這裏是我的代碼在Form1將自動關閉:在C#中使用按鈕打開一個新窗體#
Form2 form2 = new Form2();
form2.ShowDialog();
this.Close();
現在我沒有想法我會用什麼方法來自動關閉Form1中。謝謝..
而不是使用this.Close();
使用this.Hide()
和的FormClosing事件的Form2
給form1.Show()
的。
欲瞭解更多信息,請通過此link(我之前問過這個問題)。
不會工作,因爲代碼控制將停止在form2.ShowDialog();
。
你將不得不顯示窗口2在非模態的方式:
Form2 form2 = new Form2();
form2.Show();
this.Close();
或者我想你可以僞造它通過隱藏形式:
Form2 form2 = new Form2();
this.Visible = false;
form2.Show();
this.Visible = true;
嘗試兩個版本,看看哪些是在你的情況下更好。調用ShowDialog();
將顯示窗體爲Modal,導致所有用戶鼠標/鍵盤輸入被限制爲form2,直到您關閉它爲止。
編輯: Form2必須聲明爲成員變量,如果它在按鈕事件中被剝落,它將超出範圍。
Form2 form2 = new Form2();
private void btnOK_Click(object sender, EventArgs e)
{
this.Visible = false;
form2.Show();
this.Visible = true;
}
先生會用什麼方法?你能告訴我一些代碼嗎?謝謝 – Jay
如果您想完全關閉它,請使用上面的代碼1。 – ryadavilli
@Jeremy先生,當我使用第一個代碼。這兩個表格是自動關閉的。 – Jay
http://stackoverflow.com/questions/13226393/show-same-form-which-was-hidden-before – andy