如果 Form2 是主窗口,那么
1、为菜单中的各个功能新建子窗口
2、Form2.IsMdiContainer = true;
3、点击菜单,调用相应的子窗口,将子窗口的 MdiParent = this;
// Form2 中菜单点击事件内
var newForm = new FormX();
newForm.MdiParent = this;
newForm.Show();
4、类似修改密码,个人信息等窗口,不要 MdiParent = this; 且需要调用 ShowDialog(this);
var f = new frmChangePassword();
if(f.ShowDialog(this) == DialogResult.OK)
{
// 修改密码
}
在主窗体Load方法下加入
this.IsMdiContainer = true; //设置窗体为父窗体
在你点击每个按钮的时候
private Form1 form1 = null;
private void button_Click(object sender, EventArgs e)
{
if (form1 == null)
{
form1 = new Form1();
form1.MdiParent = this; //设置为父窗体的子窗体
form1.Show();
}
else
{
form1.Activate(); //获取焦点
}
}
先在主窗体上添加一个panel,然后可以仿照下面的代码:
Form2 fr = new Form2();
Form3 fr3 = new Form3();
fr.TopLevel = false;
fr3.TopLevel = false;
panel1.Controls.Add(fr);
panel1.Controls.Add(fr3);
fr3.Show();
fr.Show();
fr3.BringToFront();//使form3显示在最前面
这个要设置容器属性,再将你要显示的信息show出来,还要加父容器属性