在 Windows 窗体应用程序中,经常会在一个窗体中打开另一个窗体, 通过窗体上的不同菜单选择不同的操作,这种在一个窗体中打开另一个窗体的方式可以通过设置 MDI 窗体的方式实现。
MDI Multiple Document Interface) 窗体被称为多文档窗体,它是很多 Windows 应用程序中常用的界面设计。
MDI 窗体的设置并不复杂,只需要将窗体的属性 IsMdiContainer 设置为 True 即可。
//MDI窗体指的是多文档窗体private void 保存数据ToolStripMenuItem_Clickobject sender, EventArgs e) { //MDI窗体指的是多文档窗体 //本实验中Form1是父窗体 form2是子窗体 //首先将Form1的IsMDIContainer属性改为true,则该窗体为父窗体 //为便于显示子窗体 最好将父窗体的WindowState属性改为Maxmized Form2 f2 = new Form2); f2.MdiParent = this;//设置Form2的父窗体是Form1 AddTabFormPagetcpage,f2);//将f2子窗体嵌入到 form1 主窗体的 tabcontrol选项卡中 } public void AddTabFormPageTabControl 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.Addform);//在tabcontrol选项卡中 添加 子窗体 page.Name = form.Name; page.Text = form.Text; page.Width = form.Width; page.Height = form.Height; tab.TabPages.Addpage); form.Show); }
以下是主窗体子窗体以及效果
在这里插入图片描述