小弟编写一程序
需要同时删除Treeview中以复选框钩中的多个选项
但是总是只能删除最后钩中的一个
请问应怎样处理?

解决方案 »

  1.   

    循环,判断是否“钩”上,如果是则删除该项,否则继续循环,TREEVIEW控件没有提供一次删除所有的记录,除非是删除父节点,其下的子结点都被删除,像你这样的复选区的话,必须循环判断。
      

  2.   

    Private Sub Command1_Click()
        For i = TreeView1.Nodes.Count To 1 Step -1
            If TreeView1.Nodes(i).Checked Then
                 TreeView1.Nodes.Remove (i)
            End If
        Next
    End SubPrivate Sub Form_Load()
        TreeView1.Checkboxes = True
        TreeView1.Nodes.Add , "R", "root", "root"
        TreeView1.Nodes.Add "root", tvwChild, "key1", "aa"
        TreeView1.Nodes.Add "key1", tvwChild, "key11", "ccc"    TreeView1.Nodes.Add "root", tvwChild, "key2", "bb"
        TreeView1.Nodes.Add "key2", tvwChild, "key21", "ddd"
        TreeView1.Nodes.Add "key2", tvwChild, "key211", "eee"
        For i = 1 To TreeView1.Nodes.Count
            TreeView1.Nodes(i).Expanded = True
        Next
    End Sub
      

  3.   

    Private Sub Command1_Click()
    On Error Resume Next
        Dim i As Long
        
        For i = 1 To tvShiJuan.Nodes.Count
            If tvShiJuan.Nodes(i).Checked Then tvShiJuan.Nodes.Remove i
        Next
    End Sub