情景展示:
父窗體Form1,左邊是按鈕,右邊是panel(放置子窗體)
父窗體點擊按鈕,在panel顯示第一個子窗體AA,
AA有個按鈕,點擊按鈕,是第二個子窗體ZZ,
怎樣將AA的子窗體ZZ也顯示在父窗體Form1的panel里:
1、父窗體Form1的按鈕點擊事件
panel1.Controls.Clear(); AA s = new AA(this); s.TopLevel = false; s.Dock = DockStyle.Fill; s.FormBorderStyle = FormBorderStyle.None; panel1.Controls.Add(s); s.Show();
父窗體的IsMdiContainer屬性為True,子窗體還是默認的false
2.1、子窗體AA的構造函數改成如下
Form1 f1; public AA(Form1 form1) { f1 = form1; InitializeComponent(); }
要顯示在Form1父窗體的子窗體都如上改造
2.2、子窗體的按鈕事件里
f1.panel1.Controls.Clear(); ZZ z = new ZZ(this); z.TopLevel = false; z.Dock = DockStyle.Fill; z.FormBorderStyle = FormBorderStyle.None; f1.panel1.Controls.Add(z); z.Show();