如何删除treeview控件某一结点下所有子结点?

解决方案 »

  1.   

    同意 sworddx(.:RNPA:. 剑宇潇湘·秋叶原) 的做法
    还有就是先删除选择的父节点,再添加该节点,这种做法比较上一种快,但是导致Node的索引变化
      

  2.   

    http://expert.csdn.net/Expert/topic/2664/2664104.xml?temp=.1431391
      

  3.   

    '删除某一结点的所有子结点
    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