2013-05-13 57 views
0

我有一個代碼來檢查子容器是否有打開的窗體。我的問題是如何關閉當前表單(打開表單)並打開另一個表單,以便表單不會重疊。如何在單擊按鈕時關閉表單並在面板中打開另一個表單?

 if (MdiChildren.Count() == 0) 
     { 
      frmLogin f = new frmLogin(); 
      f.MdiParent = this; 
      f.Show(); 
     } 
     else 
     { 
      this.Close(); 
      frm1 f = new frm1(); 
      f.MdiParent = this; 
      f.Show(); 
     } 
+0

從這裏代碼沒有問題。/ – 2013-05-13 11:08:18

+0

使用ShowDialog(),這將允許一次打開一個表單。 – 2013-05-13 11:08:58

回答

1

從Mdi窗體循環所有的子窗體,並關閉或最小化子窗體。然後按照下面的說明顯示活動表單。

foreach(Form frm in this.MdiChildren) 
{ 
    frm.Close(); 

    // or.. just minimize the child forms 
    // frm.WindowState = FormWindowState.Minimized; 
} 

Form frm1 = new Form(); 
frm1.MdiParent = this; 
frm1.Show(); 

希望它有幫助。

+0

謝謝!你解決了我的問題! :D我沒有足夠的聲望去投票。謝謝 – MMakati 2013-05-13 13:37:42

+0

沒問題:)我很高興知道我的回答對你有幫助。 – SMS 2013-05-14 06:55:23

+0

你好,你可以投我的問題來增加我的聲望。感謝:D – MMakati 2013-05-16 16:24:48