如何让下面的TreeView控制代码支持无级父节点反向选择?
下面是我写的一函数,谁能告诉我如何做到支持无限级父节点的反向选择.
其实我想到一个方法,就是用循环,但不知道treeNode.Parent.Parent(Parent根据级别数一直增加)一直循环怎样来弄?
''' <summary>
''' 选中子节点的同时选中其所属的父节点(支持5级父节点)
''' </summary>
''' <param name="treeNode">节点</param>
''' <param name="nodeChecked">Checked状态</param>
''' <remarks></remarks>
Public Function CheckParentNodes(ByVal treeNode As TreeNode, ByVal nodeChecked As Boolean) As Boolean
If nodeChecked = True Then
If treeNode.Parent.Level >= 0 Then treeNode.Parent.Checked = nodeChecked
If treeNode.Parent.Level >= 1 Then treeNode.Parent.Parent.Checked = nodeChecked
If treeNode.Parent.Level >= 2 Then treeNode.Parent.Parent.Parent.Checked = nodeChecked
If treeNode.Parent.Level >= 3 Then treeNode.Parent.Parent.Parent.Parent.Checked = nodeChecked
If treeNode.Parent.Level >= 4 Then treeNode.Parent.Parent.Parent.Parent.Parent.Checked = nodeChecked
ElseIf nodeChecked = False Then
If treeNode.Parent.Level >= 0 Then
If CheckNodes(treeNode.Parent) = False Then treeNode.Parent.Checked = False
End If
If treeNode.Parent.Level >= 1 Then
If CheckNodes(treeNode.Parent.Parent) = False Then treeNode.Parent.Parent.Checked = False
End If
If treeNode.Parent.Level >= 2 Then
If CheckNodes(treeNode.Parent.Parent.Parent) = False Then treeNode.Parent.Parent.Parent.Checked = False
End If
If treeNode.Parent.Level >= 3 Then
If CheckNodes(treeNode.Parent.Parent.Parent.Parent) = False Then treeNode.Parent.Parent.Parent.Parent.Checked = False
End If
If treeNode.Parent.Level >= 4 Then
If CheckNodes(treeNode.Parent.Parent.Parent.Parent.Parent) = False Then treeNode.Parent.Parent.Parent.Parent.Parent.Checked = False
End If
End If
End Function