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