在.net中樹形顯示

在.net中樹形顯示

代碼如下:

Public Class Form1
    Private Sub TreeView1_NodeMouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeNodeMouseClickEventArgs) Handles TreeView1.NodeMouseClick
        If e.Node.Text = "11" Then
            Dim fm As New Test._11
            checkChd(fm, "11")
        End If

        If e.Node.Text = "22" Then
            Dim fm As New Test._22
            checkChd(fm, "22")
        End If
    End Sub

    Public Function checkChd(ByVal frm As Form, ByVal frmStr As String) As Boolean
        Dim frmTest As Form
        If Me.Panel1.Controls.Count = 0 Then    '如果是第一次打開一個節點
            showForm(frm)       '直接顯示畫面
        Else
            frmTest = CType(Me.Panel1.Controls(0), Form)    '因爲不是第一次打開節點,所以判斷已經存在的節點畫面
            If frmTest.Name = frmStr Then   '通過畫面名字判斷
                frmTest.Activate()  '激活已經存在的和新打開的畫面相同的畫面
            Else
                frmTest.Close()     '關閉已經存在的但是和新打開畫面不相同的畫面
                showForm(frm)       '顯示新打開的畫面
                Exit Function
            End If
        End If
    End Function

    Public Function showForm(ByVal frm As Form) As Boolean
        Dim fm As Form = frm
        fm.MdiParent = Me       '定義爲子窗體
        fm.Dock = DockStyle.Fill    '顯示形式爲充滿
        Me.Panel1.Controls.Add(fm)  '把新打開的窗體加入到容器的子窗體中
        fm.Show()
    End Function
End Class

 

還有父窗體中的屬性“IsMdiContainer”要設置爲“True”,這樣父窗體就是一個容器了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章