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中,然后在刚才的菜单项“窗口”下创建如下四个子菜单项:
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 窗体中执行拖放操作 源代码网供稿. |






