在.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”,这样父窗体就是一个容器了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值