对TreeView控制的问题?

leopard29 2006-07-12 12:45:30
一个三层的树,全部为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
...全文
142 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
leopard29 2006-07-12
  • 打赏
  • 举报
回复
谢谢!
Knight94 2006-07-12
  • 打赏
  • 举报
回复
有个细节需要注意,参看如上文章所提的
Knight94 2006-07-12
  • 打赏
  • 举报
回复
参看
http://blog.csdn.net/knight94/archive/2006/04/10/657658.aspx

16,549

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧