在 Windows 窗体应用程序中,经常会在一个窗体中打开另一个窗体, 通过窗体上的不同菜单选择不同的操作,这种在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。
MDI (Multiple Document Interface) 窗体被称为多文档窗体,它是很多 Windows 应用程序中常用的界面设计。
MDI 窗体的设置并不复杂,只需要将窗体的属性 IsMdiContainer 设置为 True 即可。
//MDI窗体指的是多文档窗体
private void 保存数据ToolStripMenuItem_Click(object sender, EventArgs e)
{
//MDI窗体指的是多文档窗体
//本实验中Form1是父窗体 form2是子窗体
//首先将Form1的IsMDIContainer属性改为true,则该窗体为父窗体
//为便于显示子窗体 最好将父窗体的WindowState属性改为Maxmized
Form2 f2 = new Form2();
f2.MdiParent = this;//设置Form2的父窗体是Form1
AddTabFormPage(tcpage,f2);//将f2子窗体嵌入到 form1 主窗体的 tabcontrol选项卡中
}
public void AddTabFormPage(TabControl tab, Form form)
{
form.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
form.TopLevel = false;//设置子窗体是非顶级窗体
form.Dock = DockStyle.Fill;//填满页面
form.WindowState = FormWindowState.Maximized;//最大化
TabPage page = new TabPage();//实例化tabcontrol选项卡
page.Controls.Add(form);//在tabcontrol选项卡中 添加 子窗体
page.Name = form.Name;
page.Text = form.Text;
page.Width = form.Width;
page.Height = form.Height;
tab.TabPages.Add(page);
form.Show();
}
以下是主窗体子窗体以及效果
在这里插入图片描述