我初始化了一个treeview,并设置Checked属性为True,里面添加了几个父结点,每个父结点下都有成员,求教各位高手如何在勾选了父结点后,其下所有节点都被选打勾,谢谢

解决方案 »

  1.   

    ' treeview的多选功能
    Public Sub CheckChild(ByVal Node As MSComctlLib.Node, ByVal bCheck As Boolean, Optional ByVal bNext As Boolean = True, Optional ByVal bChild As Boolean = True)
             If Not Node Is Nothing Then
                   Node.Checked = bCheck
                   If Node.children And bChild Then
                                   Call CheckChild(Node.Child, bCheck, True, True)                    '对子节点
                   End If
                   If bNext Then
                           Call CheckChild(Node.Next, bCheck, True, bChild)                        '对同一层节点
                   End If
             End If
    End Sub
      

  2.   

    谢谢,但是你这段代码放到程序里执行的话如果勾选超过5500左右的话就会出溢出的错误,但是编译成exe后,又不会出问题,呵,奇怪
      

  3.   

    TreeView不是可以加图片吗?
    加勾的图片就行了。不要用本身的CheckBox。
    用方框的图,和方框里有勾的图来模拟CheckBox,
    啊明白?