vb.net详解MDI窗体操作方法
生活随笔
收集整理的這篇文章主要介紹了
vb.net详解MDI窗体操作方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
MDI窗體可以避免打開窗體的時候被無數(shù)個子窗體困擾,我將為大家一一的介紹一下vb.net中MDI窗體的操作方法
一、如何創(chuàng)建MDI窗體?
1、創(chuàng)建mdi主窗體
新建建立一個默認空白的Windows應用程序,在Form1窗體的屬性窗口中找到IsMDIContainer 屬性,設置為 True
2、創(chuàng)建MDI子窗體
在vb.net中,mdi子窗體就是普通的窗體,無需更改其屬性。所有直接新建一個Form2
3、添加代碼
Dim frm2 As New Form2Form2.Show()此時你只需要簡單的實例化一下顯示出來就可以了,非常簡單吧。
二、顯示MDI窗口列表
用過帶有子窗體的程序的朋友一定知道,很多程序都帶顯示它它本身打開的子窗體列表的功能,那么它是怎么實現(xiàn)的呢
現(xiàn)在在父窗體中修改你的MenuScript1控件的MdiWinddowListItem屬性為你要設置的菜單即可。
三、排列子窗體
你只需要在你的單擊操作中填入以下代碼即可
Private Sub ToolStripMenuItem2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem2.ClickMe.LayoutMdi(MdiLayout.TileHorizontal) '水平平鋪End SubPrivate Sub ToolStripMenuItem3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem3.ClickMe.LayoutMdi(MdiLayout.TileVertical) '垂直平鋪End SubPrivate Sub ToolStripMenuItem4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripMenuItem4.ClickMe.LayoutMdi(MdiLayout.Cascade) '層疊End Sub四、VB.NET 如何防止重復打開MDI子窗體?
Private Sub 窗體1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 窗體1ToolStripMenuItem.ClickDim frm2 As New Form2CheckForm(frm2, "Form2")frm2.WindowState = FormWindowState.NormalShowForm(Form2)End Sub'*****************************************************************************'*過程名稱:CheckForm'*參數(shù)說明:MDIChildForm——需檢測的窗體;MDIChildFormName ——檢測窗體的名字'*功能說明:首先檢測是否有MDI子窗體,如果沒有,則創(chuàng)該MDI子窗體的窗體實例'* 如果有,則檢測當中有沒有其窗體實例,有則激活;沒有則創(chuàng)建其窗體實例'*****************************************************************************Private Sub CheckForm(ByVal MDIChildForm As Form, ByVal MDIChildFormName As String)If Me.MdiChildren.Length < 1 Then'如果沒有任何一個MDI子窗體,則創(chuàng)該MDI子窗體的窗體實例ShowForm(MDIChildForm)Exit SubElseDim x As IntegerDim frmyn As BooleanFor x = 0 To (Me.MdiChildren.Length) - 1Dim tempChild As Form = CType(Me.MdiChildren(x), Form)If tempChild.Name = MDIChildFormName Thenfrmyn = True'檢測到有該MDI子窗體,設為TRUE 并退出循環(huán)Exit ForElsefrmyn = FalseEnd IfNextIf frmyn = False Then'在打開的窗體中沒檢測到則新建ShowForm(MDIChildForm)Else'在打開的窗體中檢測到則激活Dim MDIChildFrm As Form = CType(Me.MdiChildren(x), Form)MDIChildFrm.Activate() '使子窗體激活MDIChildFrm.WindowState = FormWindowState.NormalEnd IfEnd IfEnd Sub'**************************************************'*過程名稱:ShowForm'*參數(shù)說明:MDIChildForm ——需創(chuàng)建實例的窗體'*功能說明:創(chuàng)建窗體實例'**************************************************Private Sub ShowForm(ByVal MDIChildForm As Form)Dim MDIChildFrm As Form = MDIChildFormMDIChildFrm.MdiParent = Me ' 定義MDI子窗體MDIChildFrm.Show() '打開窗體End SubPrivate Sub MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClickedEnd SubPrivate Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.LoadDim frm2 As New Form2CheckForm(frm2, "Form2")frm2.WindowState = FormWindowState.MaximizedEnd Sub End Class好了,關于MDI子窗體的先介紹到這,有什么不足或者不正確的地方,提出來一起交流。
轉(zhuǎn)載于:https://www.cnblogs.com/jinfulin/p/3797710.html
總結(jié)
以上是生活随笔為你收集整理的vb.net详解MDI窗体操作方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Coder-Strike 2014 -
- 下一篇: 除了修改WEBCONFIG会导致WEB服