您尚未登录,请登录后浏览更多内容! 登录 | 立即注册

QQ登录

只需一步,快速开始

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2855|回复: 0

[技巧]编写MDI应用程序

[复制链接]

2552

主题

15

听众

3161

积分

管理员

Rank: 75Rank: 75Rank: 75

性别
听众数
15
买家信用
卖家信用
在线时间
1426 小时
相册
0

版主勋章 管理员勋章 特殊贡献勋章 原创先锋勋章 解答高手勋章 新人进步勋章 智慧卓越勋章 开发团队勋章 在线之星勋章 社区元老勋章 无私奉献勋章 最佳创意勋章 勤奋学习勋章

发表于 2006-6-4 21:48:00 |显示全部楼层
程序员装备

[sell=30]<br>Imports System<br>Imports System.ComponentModel<br>Imports System.Drawing<br>Imports System.Windows.Forms<br><br>Namespace Microsoft.Samples.WinForms.VB.MDI<br><br>    Public Class MainForm<br>        Inherits System.Windows.Forms.Form<br><br>        Private windowCount As Integer = 0<br><br>        Public Sub New()<br><br>            MyBase.New()<br><br>            MainForm = Me<br><br>            &#39;此调用是 Windows 窗体设计器所必需的。<br>            InitializeComponent()<br><br>            &#39;设置 MDI 资料<br>            Me.IsMdiContainer = True<br><br>            &#39;添加“文件”菜单<br>            Dim miFile As MenuItem = MainMenu.MenuItems.Add(&quot;文件(&amp;F)&quot;)<br>            miFile.MergeOrder = 0<br>            miFile.MergeType = MenuMerge.MergeItems<br><br>            Dim miAddDoc As MenuItem = New MenuItem(&quot;添加文档(&amp;A)&quot;, New EventHandler(AddressOf Me.FileAdd_Clicked), Shortcut.CtrlA)<br>            miAddDoc.MergeOrder = 100<br><br>            Dim miExit As MenuItem = New MenuItem(&quot;退出(&amp;X)&quot;, New EventHandler(AddressOf Me.FileExit_Clicked), Shortcut.CtrlX)<br>            miExit.MergeOrder = 110<br><br>            miFile.MenuItems.Add(miAddDoc)<br>            miFile.MenuItems.Add(&quot;-&quot;)     &#39; 提供一个分隔符<br>            miFile.MenuItems.Add(miExit)<br><br>            &#39;添加“窗口”菜单<br>            Dim miWindow As MenuItem = MainMenu.MenuItems.Add(&quot;窗口(&amp;W)&quot;)<br>            miWindow.MergeOrder = 10<br>            miWindow.MenuItems.Add(&quot;层叠(&amp;C)&quot;, New EventHandler(AddressOf Me.WindowCascade_Clicked))<br>            miWindow.MenuItems.Add(&quot;水平平铺(&amp;H)&quot;, New EventHandler(AddressOf Me.WindowTileH_Clicked))<br>            miWindow.MenuItems.Add(&quot;垂直平铺(&amp;V)&quot;, New EventHandler(AddressOf Me.WindowTileV_Clicked))<br>            miWindow.MdiList = True  &#39;向菜单底部添加 MDI 窗口列表<br><br><br>            AddDocument() &#39;添加初始文档<br>        End Sub<br><br><br>        &#39;添加浏览器文档<br>        Private Sub AddDocument()<br>            windowCount = windowCount + 1<br>            &#39;创建窗体<br>            Dim doc As Document = New Document(&quot;文档&quot; + windowCount.ToString())<br>            doc.MdiParent = Me                   &#39;向该窗体设置其 MDI 父级<br>            doc.Show()                           &#39;显示窗体<br>        End Sub<br><br><br>        &#39;“文件”-&gt;“添加”菜单项处理程序<br>        Private Sub FileAdd_Clicked(ByVal sender As Object, ByVal e As System.EventArgs)<br>            AddDocument()<br>        End Sub<br><br><br>        &#39;“文件”-&gt;“退出”菜单项处理程序<br>        Private Sub FileExit_Clicked(ByVal sender As Object, ByVal e As System.EventArgs)<br>            Me.Close()<br>        End Sub<br><br><br>        &#39;已激活其中一个 MDI 子窗口 - 将状态栏<br>        &#39;文本设置到窗口标题<br>        Private Sub MDIChildActivated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MainForm.MDIChildActivate<br>            If (Me.ActiveMdiChild Is Nothing) Then<br>                statusBar1.Text = &quot;&quot;<br>            Else<br>                statusBar1.Text = Me.ActiveMdiChild.Text<br>            End If<br>        End Sub<br><br>        &#39;“窗口”-&gt;“层叠”菜单项处理程序<br>        Private Sub WindowCascade_Clicked(ByVal sender As Object, ByVal e As System.EventArgs)<br>            Me.LayoutMdi(MdiLayout.Cascade)<br>        End Sub<br><br><br>        &#39;“窗口”-&gt;“水平平铺”菜单项处理程序<br>        Private Sub WindowTileH_Clicked(ByVal sender As Object, ByVal e As System.EventArgs)<br>            Me.LayoutMdi(MdiLayout.TileHorizontal)<br>        End Sub<br><br><br>        &#39;“窗口”-&gt;“垂直平铺”菜单项处理程序<br>        Private Sub WindowTileV_Clicked(ByVal sender As Object, ByVal e As System.EventArgs)<br>            Me.LayoutMdi(MdiLayout.TileVertical)<br>        End Sub<br><br>        &#39;窗体重写 dispose 以清理组件列表。<br>        Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)<br>            If disposing Then<br>                If Not (components Is Nothing) Then<br>                    components.Dispose()<br>                End If<br>            End If<br>            MyBase.Dispose(disposing)<br>        End Sub<br><br><br>#Region &quot; Windows 窗体设计器生成的代码 &quot;<br><br>        &#39;Windows 窗体设计器所必需的<br>        Private components As System.ComponentModel.Container<br><br>        Private WithEvents mainMenu As System.Windows.Forms.MainMenu<br>        Private WithEvents statusBar1 As System.Windows.Forms.StatusBar<br><br>        Private WithEvents MainForm As System.Windows.Forms.Form<br><br>        &#39;注意:下面的过程是 Windows 窗体设计器所必需的<br>        &#39;可以使用 Windows 窗体设计器修改它。<br>        &#39;不要使用代码编辑器修改它。<br>        Private Sub InitializeComponent()<br>            Me.components = New System.ComponentModel.Container()<br>            Me.mainMenu = New System.Windows.Forms.MainMenu()<br>            Me.statusBar1 = New System.Windows.Forms.StatusBar()<br><br>            Me.Text = &quot;MDI 示例&quot;<br>            Me.AutoScaleBaseSize = New System.Drawing.Size(5, 13)<br>            Me.Menu = mainMenu<br>            Me.ClientSize = New System.Drawing.Size(450, 200)<br><br>            statusBar1.BackColor = System.Drawing.SystemColors.Control<br>            statusBar1.Location = New System.Drawing.Point(0, 180)<br>            statusBar1.Size = New System.Drawing.Size(450, 20)<br>            statusBar1.TabIndex = 1<br>            Me.Controls.Add(statusBar1)<br>        End Sub<br><br>#End Region<br><br>        &#39;运行此应用程序<br>        &#39;应用程序的主入口点<br>        &lt;STAThread()&gt; Shared Sub Main()<br>            System.Windows.Forms.Application.Run(New MainForm())<br>        End Sub<br><br>    End Class<br><br>End NameSpace<br><br>[/sell]
您需要登录后才可以回帖 登录 | 立即注册


关闭

站长推荐上一条 /1 下一条



      
    Archiver|手机版|臣迅电子商务|网站地图|渝ICP备11003388号

GMT+8, 2012-5-20 09:48

© 2001-2011 Powered by Discuz! X2.5. Theme By Yeei! update By CNNTEC

webSite begin 2005

回顶部