三.Form类和MenuItem类中和MDI相关的属性和方法:
接下来就来介绍了Visual Basic .Net中创建、使用MDI窗体的相关知识和具体的实现方法。Visual Basic .Net为编写MDI程序提供了强大支持,使得程序员编写一个MDI程序是那么的方便,最能表现Visual Basic .Net对MDI支持的地方是窗体(Form组件)和菜单(MenuItem组件),只需对这二个组件的某些属性进行设置,就能够完成其他语言在编写MDI程序时要花费很多精力才能够实现的工作。首先简要介绍一下这二个组件对应.Net FrameWork SDK中的System.Windows.Forms命名空间中的Form类和MenuItem类中提供了的实现MDI的方法和属性。也正是由于在Form类和MenuItem类中提供了很多和MDI相关的属性和方法,才使得在Visual Basic .Net编写MDI应用程序那么方便,下面是这二个类中和MDI相关的属性、方法及其说明。
属性 |
说明 |
IsMdiChild |
获取一个值,该值指示该窗体是否为MDI子窗体。 |
IsMdiContainer |
获取或设置一个值,该值指示窗体是否为MDI子窗体的容器。 |
MdiChildren |
获取窗体的数组,这些窗体表示以此窗体作为父级的MDI子窗体。 |
MdiParent |
获取或设置此窗体的当前MDI父窗体。 |
表03:Form类中和MDI相关的属性及其说明
其中和MDI编程相关最为重要的属性是"IsMdiChild"和"MdiParent"。
Form类中虽然只提供了一个和MDI编程相关的方法,但此方法功能比较强大,它能够方便的实现对MDI父窗体中的所有MDI子窗体进行四种不同的排列:"层叠"、"水平平铺"、"垂直平铺"、"排列图标",这个方法就是"LayoutMdi"。
"LayoutMdi"方法只有一个参数,此参数类型是MdiLayout枚举,MdiLayout枚举有四个值分别对应MDI父窗体中所有MDI子窗体的四种排列方式,MdiLayout枚举成员、其对应数值和说明如表04所示:
MdiLayout枚举成员 |
数值 |
说明 |
Cascade |
0 |
层叠排列 |
TileHorizontal |
1 |
横行平铺 |
TileVertical |
2 |
纵向平铺 |
ArrangeIcons |
3 |
排列图标 |
表04:MdiLayout枚举成员及其说明
MenuItem类中可用以实现MDI程序的组成成员虽然非常少,但所起的作用却是非常强大,表05所示是MenuItem类中用以MDI编程的属性及其说明:
属性 |
说明 |
MdiList |
获取或设置一个值,通过该值指示是否使用在相关联窗体内显示的MDI子窗口列表来填充菜单项。 |
MdiListItem |
获取一个值,通过该值指示用于显示MDI子窗体列表的MenuItem。 |
表05:MenuItem类中用以MDI编程的属性及其说明
其中"MdiList"属性在MDI编程中非常重要,这一点将在后面介绍的示例中得以体现。