2013-04-02 25 views
2

是說A型,如果我用下面的代碼打開表格B使用子選項打開每個窗口形式,孩子的MdiParent我有<code>MdiParent</code>形成具有<code>Menu</code>和​​ 父窗體

B addbill = new B(); 
B.Show(); 
B.MdiParent = this; 

它打開表格B作爲子表格A。現在我想開C型表格B點擊表格B表格B按鈕後將被關閉,點擊後再次C型就會被打開,形式的兒童一個C型C型按鈕將被關閉,表格B就會被打開,A型

那麼什麼C我做同樣的事情嗎? B之前

回答

0

關閉:

C.MdiParent = B.MdiParent; // which is pointing to A 
+0

那麼我需要創建B的對象嗎? B objB = new B(); C objC = new C(); objC.MdiParent = objB.MdiParent; objB.Close(); – SML

0

表格B鍵單擊您在呼喚C型,你必須FormB的的MdiParent分配給FormC的的MdiParent這是FORMA。之後你可以關閉FormB。

// FormB按鈕單擊

private void button1_Click(object sender, EventArgs e) 
     { 
      FormC frm = new FormC(); 
      frm.MdiParent = this.MdiParent; // assign MdiParent of FormB to FormC 
      frm.Show(); 
      this.Close(); 
     } 
+0

它給出了錯誤表單不能同時是MDI子項和MDI父項。 – SML

+0

你可以粘貼你的FormA和FormB按鈕點擊代碼嗎? –

6

在FormB按鈕單擊事件編寫代碼:

FormC fc=new FormC(); 
fc.MdiParent=this.MdiParent; 
fc.Show(); 

而且在FormC加載事件編寫代碼:

FormB fb=new FormB(); 
fb.Hide(); 
fb.Close(); 
0
private void button1_Click(object sender, EventArgs e) 
    { 

     Analysis an = new Analysis();//on login click open anothe form on same perrent 
     an.MdiParent = this.MdiParent; 
     an.Show(); 


    } 
相關問題