我想要遍厉TreeView中某个节点下的所有子节点要怎样做啊?

解决方案 »

  1.   

    使用nodes属性就可以了.nodes(index)
      

  2.   

    Private Sub Form_Load()
        Dim oNode As Node
        With TreeView1
            .Nodes.Add , , "r1", "r1"
            .Nodes.Add , , "r2", "r2"
                .Nodes.Add "r2", tvwChild, "r3", "r3"
                .Nodes.Add "r2", tvwChild, "r4", "r4"
                    .Nodes.Add "r4", tvwChild, "r5", "r5"
                    .Nodes.Add "r4", tvwChild, "r6", "r6"
                .Nodes.Add "r2", tvwChild, "r7", "r7"
        
            .Nodes.Add , , "r8", "r8"
            
            
            For Each oNode In .Nodes
                oNode.Expanded = True
            Next
            
            WalkNode .Nodes("r2")
        End With
    End SubSub WalkNode(oNode As Node, Optional lLevel As Long = 0)
        
        '对每个节点干点什么吧
        Debug.Print Space(lLevel * 2); oNode.Text
        
        '有孩子的先抱孩子
        If Not oNode.Child Is Nothing Then
            WalkNode oNode.Child, lLevel + 1
        End If
        
        '有兄弟的再抱兄弟
        If (Not oNode.Next Is Nothing) And lLevel > 0 Then
            WalkNode oNode.Next, lLevel
        End If
    End Sub
      

  3.   

    Dim i As Integer
            Dim TreeNodeCount As Integer
            
            Me.TreeView_Subentry.Visible = False
            TreeNodeCount = Me.TreeView_Subentry.Nodes.Count
            
            For i = 1 To TreeNodeCount
                  With TreeView_Subentry
                       With .Nodes(i)
                             .Expanded = True
                       End With
                  End With
            Next i
            Me.TreeView_Subentry.Visible = True