勾选的部分精简成这样可以了吧:
Dim tr As WinForm.TreeView = Forms("窗口1").Controls("TreeView1")
Dim nd As WinForm.TreeNode
nd = tr.SelectedNode
For Each ndx As WinForm.TreeNode In nd.allNodes '同步子节点选中状态
ndx.Checked = nd.Checked
Next
If nd.ParentNode IsNot Nothing Then '确定父节点选中状态:
For i As Integer = nd.ParentNode.level To 0 Step -1 '
Dim Inum As Integer = nd.ParentNode.Nodes.Count '利用muhua老师的
For Each ndc As WinForm.TreeNode In nd.ParentNode.Nodes
If ndc.Checked Then
Inum = Inum -1
End If
Next
If Inum = 0 Then
nd.ParentNode.Checked = True
nd = nd.ParentNode
Else
nd.ParentNode.Checked = False
nd = nd.ParentNode
End If
Next
End If
筛选的部分也可以简化的::::::::: 哈哈。 大家加油啊。