怎样在Private Sub Tv_Expand(ByVal Node As MSComctlLib.Node)事件中删除这个节点的子节点

解决方案 »

  1.   

    我是想如果有一个相同key值的节点存在,就删除掉这个节点
      

  2.   

    怎样判断有相同的key值节点存在呢?
      

  3.   

    循环该节点的所有子节点,逐个删除。(MSND中有例子)
      

  4.   

    KEY相同的节点是无法加载的呀,另赋代码如下'删除某一结点的所有子结点
    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
      

  5.   

    davidlv(断刀客) 即可解决问题
      

  6.   

    断刀客的程序可以解决问题。
    还有怎样判断一个节点是否存在呢?通过key来判断
      

  7.   

    你直接set 一下,
    dim nNode as nodeset nnode=treeview.nodes.(key)
    if nnode is nothing then “没有”