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();