2013-06-23 59 views
0

我正在使用C#。網絡Windows應用程序。面板無法在MDI中設置可見爲真

我有一個MDI父窗體和許多子窗體。我把面板放在MDI父窗體中,並在面板內拖動幾個按鈕。

當我點擊他們打開另一個子窗體,並設置上可見的僞到面板 像這樣(示例代碼)按鈕:

private void Button_Click(object sender, EventArgs e) 
{ 
    panel1.Visible = false; 

    ChildForm Form2 = new ChildForm(); 
    Form2.WindowState = FormWindowState.Maximized;   
    Form2.Show(); 
} 

現在他們完美的工作。什麼問題是,當我關閉子窗體時,面板在MDI父窗體中不可見。它總是面板可見的虛假。我設置爲true,查看我的代碼。

private void ChildForm _FormClosed(object sender, FormClosedEventArgs e) 
{ 
    this.Dispose(); 
    MDI md = new MDI(); 
    md.panel1.Visible = true; 
} 

也是用BringToFrontSendToBack。沒用。請協助。

回答

-1

喜的朋友我解決了這一點,我現在得到的工作...... 這裏的解決方案..

> private void ChildForm_FormClosed(object sender,FormClosedEventArgs e) 
>   { 
>    MDI md = (MDI)this.MdiParent; 
>    md.panel1.Visible = true; 
>   } 
1

的問題是:

  • 你在子窗體創建MDI形式新實例MDI md = new MDI();

    而應該檢索打開MDI的實例,在此實例上設置md.panel1.Visible = true;。您可以使用MdiParent屬性。

    MDI md = (MDI)this.MdiParent; 
    md.panel1.Visible = true; 
    
  • ,並輸入您認爲設置面板中可見的代碼之前調用​​。我不知道這是​​後的代碼會被執行...

相關問題