vb.net入门——MDI 窗体的基础使用


MDI窗体在多文档Windows应用程序中有着举足轻重的地位,目前流行的Maxthon浏览器就是代表之一,MDI子窗体的创建避免了用户打开很多窗

口的时候任务栏中挤满了让人眼花缭乱的窗体。

切入正题,我们现在就来看如何创建和应用MDI窗体。

一、如何创建MDI父窗体和子窗体。

1、建立一个默认空白的Windows应用程序,在Form1窗体的属性窗口中找到IsMDIContainer 属性,设置为 True,如下图一所示:

2、从工具箱上拖放MainMenu组件放到作为父窗体的Form1窗体上(关于MainMenu菜单的使用请参看该文:vb.net入门——Windows窗体中的菜单操作),建立如下顶级菜单项“文件(&F)”和“窗口(&W)”,然后再在“文件”菜单项下建立子菜单项“新建(&N)”和“退出(&E)”,各个菜单项的Name属性为:

“文件”——mFile

“新建”——mNew

“退出”——mClose

“窗口”——mWindows

如下图二所示:

3、在vs的菜单——项目——添加Windows 窗体,为项目添加一个新的窗体Form2作为创建子窗体的模板。

 4、返回父窗体Form1中,为它的菜单项添加代码。

首先双击子菜单“新建”,编辑器自动切换到该菜单项的默认事件中,我们为它添加如下代码:

Dim NewMDIChild As New Form2

NewMDIChild.MdiParent = Me

NewMDIChild.Show()

NewMDIChild.Text = "子窗体" & (Me.MdiChildren.GetUpperBound(0) + 1).ToString

注意:在以上代码最后一行中的Me.MdiChildren指示的是某个父窗体中所有子窗体的数组,我们在编程的时候可以使用该属性来检索父窗体下的子窗体。

为子菜单项“退出”的Click事件添加如下代码:

Application.Exit()

现在我们就简单建立MDI窗体的应用程序,按F5运行,从“文件”菜单中,选择“新建”创建新 MDI 子窗体。运行效果如下图三所示:

二、显示MDI窗口列表

用过带有子窗体的程序的朋友一定知道,很多程序都带显示它它本身打开的子窗体列表的功能,如下图所示:

其实在vb.net中,我们也可以在我们自己的程序中实现这个功能。现在回到父窗体Form1中,找到刚才我们创建的菜单项“窗口”,在它的属性窗口中找到MdiList,设置为True,如下图五所示:

现在按F5运行,用“新建”菜单多建几个子窗体,然后单击“窗口”菜单就可以看到我们打开的所有子窗体列表了,如下图五所示:

提示:当前的活动子窗体使用一个小对勾标记,我们还可以在显示的列表中切换活动窗口。

我们可以通过ActiveMDIChild获取当前活动的子窗体,通过ActiveControl属性获得子窗体活动的控件。

三、排列子窗体

我们可以通过MDILayout方法来实现子窗体的排列。

1、首先我们回到父窗体Form1中,然后在刚才的菜单项“窗口”下创建如下四个子菜单项:

Text属性 Name属性
排列窗口 mLayout1
层叠窗口 mLayout2
垂直平铺 mLayout3
水平平铺 mLayout4

2、在代码编辑器中加入如下代码:

Private Sub mLayout1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mLayout1.Click

Me.LayoutMdi(MdiLayout.ArrangeIcons)

End Sub

Private Sub mLayout2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mLayout2.Click

Me.LayoutMdi(MdiLayout.Cascade)

End Sub

Private Sub mLayout3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mLayout3.Click

Me.LayoutMdi(MdiLayout.TileVertical)

End Sub

Private Sub mLayout4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mLayout4.Click

Me.LayoutMdi(MdiLayout.TileHorizontal)

End Sub

3、按F5运行,在“窗口”菜单中点击对应的菜单项看效果。

到了这里,我们基本上在我们的程序中使用MDI窗体了,我们下一章就一起去看下:vb.net入门——在 Windows 窗体中执行拖放操作

 

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3