在tree 中有若干节点,并且还会动态增加,它们总共分三级。请问当双击treeview中某一项时,如何判断点击的是哪一级节点呢?比如我双击的是第二级节点就显示“第二级”,双击的是第一级节点中的一个,就显示“第二级”。
我初学,所以有代码参考最好了。谢谢。

解决方案 »

  1.   

    node.FullPath 这个属性可以表示出节点的层次情况,是一个字符串格式是:父结点的显示文本\本节点的显示文本你可以对这个字符进行处理达到你的要求
      

  2.   

    Private Sub Form_Load()
        Dim n As Node
        Set n = TreeView1.Nodes.Add(, , "a", "a")
        TreeView1.Nodes.Add , , "b", "b"
        TreeView1.Nodes.Add n, tvwChild, "c", "c"
    End SubPrivate Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
        Dim s As String, i As Integer, i2 As Integer
        s = Node.FullPath
        i = 1
        i = InStr(i, s, "\", vbTextCompare)
        Do While i <> 0
            i2 = i2 + 1
            i = InStr(i + 1, s, "\", vbTextCompare)
        Loop
        MsgBox i2 + 1
    End Sub
      

  3.   

    sxfzu(Flying):怎么加到双击事件里呀?
      

  4.   

    Private Sub TreeView1_DblClick()
    Dim s As String, i As Integer, i2 As Integer
        
        If TreeView1.SelectedItem.Text = "" Then Exit Sub    s = TreeView1.SelectedItem.FullPath
        i = 1
        i = InStr(i, s, "\", vbTextCompare)
        Do While i <> 0
            i2 = i2 + 1
            i = InStr(i + 1, s, "\", vbTextCompare)
        Loop
        MsgBox i2 + 1
    End Sub