谢谢了

解决方案 »

  1.   

    '删除某一结点的所有子结点
    Public Sub TreeView_DeleteChildNode(tvw As TreeView, ByVal vKey As String)
        Dim nNode As Node, nNode1 As Node, nKey() As String, i As Integer
        
        Set nNode = tvw.Nodes(vKey)
        If nNode.Children = 0 Then Exit Sub
        
        Set nNode1 = nNode.Child
        i = 0
        Do While Not nNode1 Is Nothing
            ReDim Preserve nKey(i)
            nKey(i) = nNode1.Key
            Set nNode1 = nNode.Next
            i = i + 1
        Loop
        
        For i = 0 To UBound(nKey())
            Call tvw.Nodes.Remove(nKey(i))
        Next i
    End Sub
      

  2.   

    方法一:
    Private Sub Form_Load()
        
        With TreeView1.Nodes
        
            .Add , , "r", "root"
            .Add "r", tvwChild, "c1", "c1"
            .Add "r", tvwChild, "c2", "c2"
        
        End With
        
    End SubPrivate Sub Command1_Click()Dim i&
    Dim n As Node
        
        Set n = TreeView1.Nodes("r").Child
        
        For i = 1 To TreeView1.Nodes("r").Children - 1        TreeView1.Nodes.Remove n.Next.Index    Next
        
        TreeView1.Nodes.Remove n.Index
        
        Set n = Nothing
        
    End Sub
      

  3.   

    最简单的办法:先记录下k2这个node的信息,然后用nodes.remove "k2"删除调这个k2这个node,这样其子node也都没了,然后在add回原先的k2这个node;