日期:2014-05-17  浏览次数:20783 次

winform中在MDI主窗体显示多个子窗体
我想让子窗体在主窗体的Panel中显示,实现过程是这样的:单击主窗体菜单的一个按钮,在panel中显示一个子窗体,单击主窗体菜单的另一个按钮时,前一个子窗体关闭,显示另一个子窗体。不知道我的想法怎么才能实现,请大家指点一下,谢谢。

------解决方案--------------------
private void button1_Click(object sender, EventArgs e)
           {
panel1.Clear(); // 清空的是当前panel上的子窗体  
               ChildForm child = new ChildForm();
               child.TopLevel = false;
              child.Dock = System.Windows.Forms.DockStyle.Fill;
              child.FormBorderStyle = FormBorderStyle.None;
              //child.Parent = this.panel1;
              this.panel1.Controls.Add(child);
              child.Show();
           }

------解决方案--------------------
非MDI

            if (panel1.Tag != null && panel1.Tag is Form)
            {
                ((Form)panel1.Tag).Close();
            }
            Form2 frm = new Form2();
            frm.TopLevel = false;
            frm.Parent = panel1;
            panel1.Tag = frm;
            frm.Show();