轉——treeview的一些介紹

本文介绍了TreeView控件的使用方法,包括如何设置Node对象属性、添加节点及管理节点间的关系等。详细阐述了如何通过Index和Key属性访问节点,并提供了添加新节点的两种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

设置 Node 对象属性
“树”由一些层叠的“节点”分支构成,每个节点通常包括图象(用 Image 属性设置)和标签(由 Text 属性设置)。节点的图象由与 TreeView 控件相关联的 ImageList 控件提供。关于与其它控件共同使用 ImageList 控件的更多信息,请参阅“使用 ImageList 控件”。
  
节点可被展开或折回,这取决于它是否有子节点,即从它出发的节点。在最上层是“根”节点,每个“根”节点可以具有任何数目的子节点。节点的总数没有限制(除非受到机器资源的限制)。图 2.41 显示了具有两个根节点的树。其中“Root 1”有三个子节点,“Child 3”自己又有一个子节点。“Root 2”有子节点,由“+”号指出,但没有展开。
  
图 2.41 根和子节点
  
  
树中的每个节点实际上是可编程的 Node 对象,它属于 Nodes 集合。同在其它集合中一样,集合的每个成员具有唯一的 Index 和 Key 属性,通过这些属性可以访问相应节点的其它属性。例如,下面的代码用特定节点的 Index (“7”) 设置其 Image 和 Text 属性:
  
tvwMyTree.Nodes(7).Image = "closed"  
tvwMyTree.Nodes(7).Text = "IEEE"
  
然而,如果唯一的键被赋给了该节点,例如“7 ID”,那么上述代码可被改写如下:
  
tvwMyTree.Nodes("7 ID").Image = "closed"
tvwMyTree.Nodes("7 ID").Text = "IEEE"
  
节点间的关系和对关系节点的引用
每个节点可以是子节点,也可以是父节点,这取决于它与其它节点之间的关系。Node 对象具有一些属性,可以用来返回子节点或父节点的各种信息。例如,下面的代码用 Children 属性返回某个节点的子节点个数。
  
MsgBox tvwMyTree.Nodes(10).Children
  
然而,另外一些属性与 Children 属性不同,它们不返回信息,但返回对其它节点对象的引用。例如,Parent 属性返回对特定节点(只要该节点不是根节点)的父节点的引用。利用该引用,可以调用适用于 Node 对象的任何方法或设置属性来管理其父节点。例如,下面的代码返回父节点的 Text 和 Index 属性:
  
MsgBox tvwMyTree.Nodes(10).Parent.Text
MsgBox tvwMyTree.Nodes(10).Parent.Index
  
提示 使用 Set 语句处理 Node 类型的对象,以管理对其它 Node 对象的引用。例如,下面的代码将 Node 对象变量设置为 Parent 属性返回的引用。然后用该对象变量返回相关节点的属性:
  
Dim tempNode As Node '声明对象变量。
'将对象变量设置为返回的引用。
Set tempNode = tvwMyTree.Nodes(10).Parent  
MsgBox tempNode.Text '返回父节点的 Text。
MsgBox tempNode.Index '返回父节点的 Index。
  
向 Nodes 集合中添加 Node 对象
要将 Node 添加到树中,可以用 Add 方法(Nodes 集合)。该方法包括两个参数,relative 和 relationship,它们确定节点被加到何处。第一个参数 relative 指定节点名称,第二个参数 relationship 指定新加入的节点与名为 relative 的节点之间的关系。
  
例如,下面的代码添加名为“11 node”的节点,并使其成为名为“7 node”的节点的子节点。固有常数 tvwChild 指出新节点是前一参数所指定的节点的子节点。第三个参数设置新节点的 Key 属性。
  
tvwMyTree.Nodes.Add "7 node", tvwChild, "11 node"
  
其它可能的关系包括:
  
常数 值 描述  
tvwLast 1 该 Node 被放在所有与 relative 节点同级的节点之后。  
tvwNext 2 该 Node 放在名为 relative 的节点之后。  
tvwPrevious 3 该 Node 放在名为 relative 的节点之前。  
tvwChild 4 该 Node 成为名为 relative 节点的子节点。  
  
  
例如,假设已存在三个节点,如果想将第四个节点放在第二个和第三个节点之间,则代码如下:
  
'假设第二个节点的 Key 值为“2 node”。
tvwMyTree.Nodes.Add "2 node", tvwNext
  
Add 方法的其它参数是 key、text 和 image。用这些参数,可以在创建 Node 对象时,为其赋予 Key、Text 和 Image 属性。
  
详细信息 关于 Nodes 集合 Add 方法的更多信息,请在索引搜索中键入“Add 方法”并单击“Add 方法 (Nodes 集合)”,参阅“Add 方法”。
  
添加节点的第二个方法是:声明 Node 类型的对象变量,然后使用带 Add 方法的 Set 语句。该 Set 语句将该对象变量设置为新节点。然后就可以用该对象变量设置节点的属性,如下所示:
  
Dim nodX As Node
Set nodX = tvwMyTree.Nodes.Add("10 node", tvwChild)
nodX.Key = "11 node"
nodX.Text = "IEEE"
nodX.Image = "closed"
  
提示 使用带 Add 的 Set 语句,可使代码可读性强、容易调试。然而,如果使用 Add 方法及其参数添加节点,代码速度更快。

Windows 系统修复工具主要用于解决 Windows 11/10 系统中的各种常见问题,具有操作简单、功能全面等特点: 文件资源管理器修复:可解决文件资源管理器卡死、崩溃、无响应等问题,能终止崩溃循环。还可修复右键菜单无响应或选项缺失问题,以及重建缩略图缓存,让图片、视频等文件的缩略图正常显示,此外,还能处理桌面缺少回收站图标、回收站损坏等问题。 互联网和连接修复:能够刷新 DNS 缓存,加速网页加载速度,减少访问延迟。可重置 TCP/IP 协议栈,增强网络连接稳定性,减少网络掉线情况,还能还原 Hosts 文件,清除恶意程序对网络设置的篡改,保障网络安全,解决电脑重装系统后网络无法连接、浏览器主页被篡改等问题。 系统修复:集成系统文件检查器(SFC),可自动扫描并修复受损的系统文件。能解决 Windows 激活状态异常的问题,还可重建 DLL 注册库,恢复应用程序兼容性,解决部分软件无法正常运行的问题,同时也能处理如 Windows 沙箱无法启动、Windows 将 JPG 或 JPEG 保存为 JFIF 等系统问题。 系统工具维护:提供启动管理器、服务管理器和进程管理器等工具,用户可控制和管理启动程序、系统服务和当前运行的进程,提高系统的启动和运行速度,防止不必要的程序和服务占用系统资源。还能查看系统规格,如处理器线程数、最大显示分辨率等。 故障排除:集成超过 20 个微软官方诊断工具,可对系统问题进行专业排查,还能生成硬件健康状态报告。能解决搜索和索引故障、邮件和日历应用程序崩溃、设置应用程序无法启动等问题,也可处理打印机、网络适配器、Windows 更新等相关故障。 其他修复功能:可以重置组策略设置、catroot2 文件夹、记事本等多种系统设置和组件,如重置 Windows 应用商店缓存、Windows 防火墙设置等。还能添加重建图标缓存支持,恢复粘滞便笺删除
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值