关于treeview的高级应用问题 各位大虾,帮帮忙啊

Eyestouch 2003-11-13 02:23:43
1.实现一个treeview载入指定路径的所有目录(用递归函数就搞定了)
2.做一个象金山毒霸指定路径杀毒那样的treeview
当选中一个结点A,则该结点以下的子结点通通被选中
当清除选中一个结点C,则该结点以下的子结点通通被清除选中
当父结点B下,有子结点被清除掉时,父结点B呈灰色,B的所有上层结点都呈灰色(例如:根节点)

■(根结点)
|
+----[\]A
| |----[\]A1
| |----[\]A2
| |----[\]A3
|
|---- ■B
| |----[ ]B1
| |----[\]B2
| |----[\]B3
|
|----[ ]C
|----[ ]C1
|----[ ]C2
|----[ ]C3

怎么实现这个效果?各位大虾,帮帮忙啊
...全文
31 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eyestouch 2003-11-14
  • 打赏
  • 举报
回复
beibeilong(whylove)
好呀 让我参考参考^_^
virtualy@21cn.com
LUCKOUT 2003-11-14
  • 打赏
  • 举报
回复
1、先在资源文件中存放三种图片
2、节点装载的时候应该有个规律
3、利用For......Next检查一下指定的父节点下的子节点的状态
4、If 全部被选 then

ElseIf 部分被选 then

ElseIf 没有被选择的 then

EndIf
Eyestouch 2003-11-14
  • 打赏
  • 举报
回复
^_^ 搞定了
beibeilong 2003-11-13
  • 打赏
  • 举报
回复
关注这个问题,以前也遇到过,不过没有解决
当时的思路是用imagelist存放3种图片,可能当时控制上面还有点问题,所以不了了之了
或者给个email我把原来的代码发给你,你自己看看能不能修改一下达到你的目的
qq:5892639
Eyestouch 2003-11-13
  • 打赏
  • 举报
回复
可是怎么让他变成灰色呢?
kimurakenshin 2003-11-13
  • 打赏
  • 举报
回复
思路:如果和个结点被选中,则判断它下面对面无子结点,若有,则全选.同理,当把不选中该结点,则判断是否有子结点,全部去掉选中.这只需要循环就可以.
用listview1.nodes.item(index).children,listveiw1.nodes.item(index).parent来判断.
当每次选中一结点,就要判断,它的父结点及子结点是否存在,若子结点存在,则全部选中,若父结点存在,则需要比较麻烦.用循环判断是否同一层的结点全部都被选中,是就选中父结点,否则让其为灰色。

7,763

社区成员

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

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