怎样选中treeview(vb)中一个node的chekbox,让这个node下的所有子node也选中?

yang0411 2001-08-08 07:37:29
...全文
143 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yang0411 2001-08-08
  • 打赏
  • 举报
回复
to hnlzh
你个是个死循环,谢谢了!
Richard2001的比较好用
一川烟草123 2001-08-08
  • 打赏
  • 举报
回复
不好意思,寫漏了一句,我調試過了
Dim x As Integer
On Error Resume Next
x = tv.Nodes("當前節點").Child.FirstSibling.Index
Do While x <= tv.Nodes("當前節點").Child.LastSibling.Index
tv.Nodes(x).Checked = True
x = tv.Nodes(x).Next.Index

If Err.Number = 91 Then
Err.Clear
Exit Do
End If
Loop
Richard2001 2001-08-08
  • 打赏
  • 举报
回复
Private Sub lst1_NodeCheck(ByVal Node As MSComctlLib.Node)
If lst1.Nodes.Count < 1 Then Exit Sub
On Error Resume Next

Dim iChecked As Boolean
Dim i As Long

iChecked = Node.Checked
If (Node.Key = "Root") Then
i = Node.Index + 1
For i = Node.Index + 1 To lst1.Nodes.Count
lst1.Nodes(i).Checked = iChecked
Next
ElseIf Not (Node.Parent.Key <> "" And Node.Parent.Key <> "Root") Then
For i = Node.Index + 1 To lst1.Nodes.Count
If lst1.Nodes(i).Parent.Key = Node.Key Then
lst1.Nodes(i).Checked = iChecked
End If
Next
End If
End Sub
yang0411 2001-08-08
  • 打赏
  • 举报
回复
不好用!
一川烟草123 2001-08-08
  • 打赏
  • 举报
回复
on error resume next
Do While X <= tv.Nodes("當前節點").Child.LastSibling.Index
tv.Nodes(X).Checked = True
X = tv.Nodes(X).Next.Index
If Err.Number = 91 Then
Err.Clear
Exit Do
End If
Loop
加點分如何,5分太少了吧??
yang0411 2001-08-08
  • 打赏
  • 举报
回复
我知道!
能给个详细例子吗?
bdzwc 2001-08-08
  • 打赏
  • 举报
回复
很简单,递归
一川烟草123 2001-08-08
  • 打赏
  • 举报
回复
暈倒........

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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