情景展示:
父窗体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();