对TreeView控制的问题?
一个三层的树,全部为CHECKBOX
要求所有子节点不选时,父节点也不选中,选中一个时,父节点选中。
选中父节点时,所有子节点选中。
现在老是出堆栈溢出的异常。
高手帮忙看看。
Private Sub trvRight_AfterCheck(ByVal sender As Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles trvRight.AfterCheck
If e.Node.FullPath.Split("\").Length = 1 Then
If e.Node.Checked = True Then
Dim n As TreeNode
For Each n In e.Node.Nodes
n.Checked = True
Next
Else
Dim n As TreeNode
For Each n In e.Node.Nodes
n.Checked = False
Next
End If
End If
If e.Node.FullPath.Split("\").Length = 2 Then
If e.Node.Checked = True Then
Dim n As TreeNode
For Each n In e.Node.Nodes
n.Checked = True
Next
e.Node.Parent.Checked = True
Else
Dim n As TreeNode
For Each n In e.Node.Nodes
n.Checked = False
Next
e.Node.Parent.Checked = False
For Each node As TreeNode In e.Node.Parent.Nodes
If node.Checked = True Then
e.Node.Parent.Checked = True
Exit For
End If
Next
End If
End If
If e.Node.FullPath.Split("\").Length = 3 Then
If e.Node.Checked = False Then
e.Node.Parent.Checked = False
For Each node As TreeNode In e.Node.Parent.Nodes
If node.Checked = True Then
e.Node.Parent.Checked = True
Exit For
End If
Next
End If
End If
End Sub