treeview为什么checkbox不能全部都初始化为选中状态

Jolins 2010-07-05 11:13:02
在添加节点的时候把节点的checkbox属性设置为true为什么没有一点效果

我先是在代码Set objNode = Treeview1.Nodes.Add( ……
后面加了objNode.checked = true

发现不行,后来又用遍历来做

for i =1 to Treeview1.Nodes.Count
Treeview1.Nodes(i).Checked = true
next i

结果还是没有任何效果,所有的checkbox都是未选中的状态

各位高手能否帮我看看,到底哪儿出问题了
...全文
129 19 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
king06 2010-07-06
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 jolins 的回复:]
谢谢king,问题解决了,不过如果你有时间能否告诉我为啥写在form_load里不行呢

结分,3Q
[/Quote]
个人认为是form_load里面,treeview没有重绘,直到form_load完成.
Jolins 2010-07-06
  • 打赏
  • 举报
回复
谢谢king,问题解决了,不过如果你有时间能否告诉我为啥写在form_load里不行呢

结分,3Q
Jolins 2010-07-06
  • 打赏
  • 举报
回复
哦,可是我另外做了一个,在form_load是完全没问题的,可是原来的里面就是不行

奇怪了,另外可否请楼上高人告诉我这个为什么要写在activate事件里吗,俺VB初学者,呵呵
king06 2010-07-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jolins 的回复:]
引用 5 楼 king06 的回复:
VB code
Private Sub Form_Activate()
Dim i As Long
TreeView1.CheckBoxes = True
TreeView1.Refresh
For i = 1 To TreeView1.Nodes.Count
TreeView1.Nodes(i).Checked = True
……


……
[/Quote]
你看我写在什么事件里。。。
jhone99 2010-07-06
  • 打赏
  • 举报
回复
如果单独测试应该可以通过吧,看是否执行该程序过程中会触发其他事件
jhone99 2010-07-06
  • 打赏
  • 举报
回复
发过来,看看
email: li1639999@163.com
Jolins 2010-07-06
  • 打赏
  • 举报
回复
晕死了,本来以为很简单的事情为啥搞不定

舉杯邀明月 2010-07-06
  • 打赏
  • 举报
回复
Ding.......
Jolins 2010-07-06
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 king06 的回复:]
VB code
Private Sub Form_Activate()
Dim i As Long
TreeView1.CheckBoxes = True
TreeView1.Refresh
For i = 1 To TreeView1.Nodes.Count
TreeView1.Nodes(i).Checked = True
……
[/Quote]

这么写没有用,我也是这么写的
king06 2010-07-06
  • 打赏
  • 举报
回复
Private Sub Form_Activate()
Dim i As Long
TreeView1.CheckBoxes = True
TreeView1.Refresh
For i = 1 To TreeView1.Nodes.Count
TreeView1.Nodes(i).Checked = True
Next
End Sub
Jolins 2010-07-06
  • 打赏
  • 举报
回复
我初始化以后用遍历来把每一个节点的checked属性都设置为true也没用

不知道为什么,jhone99谢谢你啊,呵呵,我好多帖子都是你指点我的
jhone99 2010-07-06
  • 打赏
  • 举报
回复
全部初始化后,调用你的checknode的方法
Jolins 2010-07-06
  • 打赏
  • 举报
回复
我是所有节点的checkbox全部都true啊,不需要指定特定的

我checknode的方法也是用这个属性做的,没问题,为什么初始化就不行
Jolins 2010-07-06
  • 打赏
  • 举报
回复
我刷了,再把所有节点的状态设置为选中之前,我refresh一次,等循环结束我又refresh一次,还是没看到,我step进去每个节点的checked都是true,就是看不到郁闷了
king06 2010-07-06
  • 打赏
  • 举报
回复
不会出现
Jolins 2010-07-06
  • 打赏
  • 举报
回复
按理说应该是form load在form_activate前执行

会出现交叉的情况吗

king06 2010-07-06
  • 打赏
  • 举报
回复
我试过没问题,注意TreeView1.Refresh
Jolins 2010-07-06
  • 打赏
  • 举报
回复
怎么又出不来了呢,怪事情,刚看到OK了

结果吃好饭回来发现又不对了
咸清 2010-07-05
  • 打赏
  • 举报
回复
是不是节点指定有误呢?

1,453

社区成员

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

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