首先新建一个winform窗体
将窗体的“IsMdicontainer”属设置为true,如图
作为父窗体肯定有自己的菜单,不然页面没办法切换,下图中有两种菜单:
第一行一般用于系统配置,设置什么的,是使用的“menuStrip”控件
第二行一般用于子窗体的导航菜单了,是使用的“toolStrip”控件
有了这两个控件之后,页面就是上图这个样子
对于第二行的菜单的图标,可以在项目属性中的资源里添加图片或者ico,也可以直接从本地导入
接下来开始调整按钮的属性,有几个关键的属性记一下:
Image:调整图片源
DisPlayStyle:调整图标显示内容,可选只显示图片或者文字,我一般显示图片和文字“ImageAndText”
ImageScaling:调整图标显示的大小,是等比例缩小还是不缩放,不缩放就很大,显示不全,我一般用“SizeToFit”
别的也没什么,接下来是单击事件,只有添加完事件,点击才能呈现不同的子窗体
private void btn_Main_Click(object sender, EventArgs e)
{
if (!checkChildFrmExist("Main"))
{
Main frm = new Main();
frm.WindowState = FormWindowState.Maximized;
frm.MdiParent = this;
frm.Show();
}
}
其中“Main”是子窗体的名称,其余的不用变
这是上述代码中使用到的checkChildExist()方法
private bool checkChildFrmExist(string childFrmName)
{
foreach (Form childFrm in this.MdiChildren)
{
//用子窗体的Name进行判断,如果已经存在则将他激活
if (childFrm.Name == childFrmName)
{
if (childFrm.WindowState != FormWindowState.Maximized)
{
childFrm.WindowState = FormWindowState.Maximized;
}
childFrm.Activate();
return true;
}
}
return false;
}
这里不需要改动可以直接使用
写到这里就大功告成