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