情景展示:

父窗体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();

 

 posted on 2016-11-09 11:11  布鲁布鲁sky  阅读(3141)  评论(1编辑  收藏  举报