MDI窗体设计:(Multiple-Document Interface)
用途:用于同时显示多个文档,每个文档显示在各自的窗体中。
起到容器作用的窗体被称为"父窗体",可放在父窗体中的其他窗体称为"子窗体",也称为"MDI子窗体"。
每个应用程序只能有一个父窗体,并且其他子窗体不能移出父窗体的框架区域。
1.设置父窗体:
在窗体的属性面板
将IsMdiContainer属性设置为True即可
2.设置子窗体:
通过设置窗体的MdiParent属性来确定子窗体
Form2 form2 = new Form2()
form2.Show()
form2.MdiParent=this;//这里设置了MdiParent,将当前窗体作为父窗体。
3.对MDI窗体进行排列
使用带有MdiLayout枚举的LayoutMdi方法排列子窗体
枚举成员:
Cascade:所有MDI子窗体层叠在MDI父窗体工作区内
TileHorizontal:所有MDI子窗体均水平平铺在MDI父窗体的工作区内
TileVertical:所有MDI子窗体均垂直平铺在MDI父窗体的工作区内
示例代码:
LayoutMdi(MdiLayout.TileHorizontal)//使用MdiLayout枚举实现窗体的水平平铺
继承窗体:
创建继承窗体有两种方式:
一是通过编程方式创建继承窗体,二是使用继承选择器创建继承窗体。
1.编程方式创建继承窗体(Form2继承Form1)
原始代码:
namespace Form(项目名)
{
public partial class Form2:Form //表示当前窗体继承于Form类
{......}
}
修改之后:
只需修改:public partial class Form2:Form.Form1(使用Form2窗体继承Form1窗体)
2.使用继承选择器创建继承窗体
(1)选择项目->右击->添加->新建项,打开"添加新项"
(2)在"添加新项"对话框中选择"继承的窗体",并输入窗体名称,单击"添加"按钮,打开"继承选择器"对话框,
(3)在"继承选择器"对话框中单击浏览按钮,选择要继承的基窗体,单击"确定‘,完成继承窗体的创建。
当向窗体中添加控件时,控件的Modifiers属性默认为Private,但如果继承这样的窗体,则在继承窗体中控件的属性全部为不可编辑状态。
其实,我们可以通过基窗体中控件的Modifiers属性设置为Public,来实现在继承窗体中编辑控件属性的功能。
MDI和继承窗体设计