2012-11-12 69 views
2

嗨,我正在做一個簡單的活動在C#中。我想用一個按鈕來打開一個新的窗口2,當我按下該按鈕。這裏是我的代碼在Form1將自動關閉:在C#中使用按鈕打開一個新窗體#

 Form2 form2 = new Form2(); 
     form2.ShowDialog(); 
     this.Close(); 

現在我沒有想法我會用什麼方法來自動關閉Form1中。謝謝..

+0

http://stackoverflow.com/questions/13226393/show-same-form-which-was-hidden-before – andy

回答

3

而不是使用this.Close();使用this.Hide()和的FormClosing事件的Form2form1.Show()的。

欲瞭解更多信息,請通過此link(我之前問過這個問題)。

4

不會工作,因爲代碼控制將停止在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; 
} 
+0

先生會用什麼方法?你能告訴我一些代碼嗎?謝謝 – Jay

+0

如果您想完全關閉它,請使用上面的代碼1。 – ryadavilli

+0

@Jeremy先生,當我使用第一個代碼。這兩個表格是自動關閉的。 – Jay

相關問題