·建站首页 ·钻石 ·繁體
您的位置: 中国建站之家 -> 网站开发设计 -> .Net教程 -> 使用TreeView控件

使用TreeView控件

作者:未知  来源:转载  发布时间:2005-9-15 0:22:44  发布人:acx

    
  treeview控件用于显示分级的数据,列如组织树,磁盘上的文件和目录。
  
  图例 2.40 典型的TreeView
  
  可能用法:
   .创建一个能被用户使用的组织树
   .创建一个显示二级或更多数据的树
  
  设置Node对象属性
  
  一个”tree“由许多层叠树叉的“nodes”组成,每个结点由图片(设置图片属性)和一个标签(设置文本属性)代表构成。
  提供给结点的图片由联结到TreeView控件的ImageList控件提供。
  
  一个结点可以展开或收缩,依赖于此结点是否有子结点。在最顶端层是”root“结点,并且每个根结点有一定数量的子结点。
  结点的总数不受限制(除非机器约束)。图例2.41显示一个树以及2个根结点;”root1“有3个子结点,”child3“有一个它
  自己的子结点。”root2“有子结点,并且通过”+“预示,但是没有展开。
  
  图例2.41 Root and child nodes
  
  树里的每个结点实际是一个可编程的Node对象---属于Nodes 搜索集。在其他的搜索集,这里每个成员有一个唯一的引索和
  关键属性,他们允许你存取结点的属性。例如,下面的结点用特定的引索node("7")设置图片和文本属性:
  
  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
  
  尽管,一些属性不返回信息,作为子结点的属性,但是替代返回一个涉及其他的Node对象。例如,父结点属性返回父结点的任何
  特定结点(只要这结点不是一个根结点)。由于这种涉及,你可以使用父结点调用任何方法或者设置属性,并应用到Node对象。
  例如,下面的代码返回一个父结点的文本信息和引索属性。
  
  MsgBox tvwMyTree.Nodes(10).Parent.Text
  MsgBox tvmMyTree.Nodes(10).Parent.Index
  
  提示: 使用set声明一个Node类型的对象变量使用涉及到其他的Node对象。例如,下面的代码设置一个Node对象变量涉及返回父结点
  属性。接下来使用对象变量返回关系结点属性:
  
  Dim tempNode As Node
  Set tempNode=tvwMyTree.Nodes(10).Parent
  MsgBox tempNode.Text
  MsgBox tempNode.Index
  
  添加Node对象到Nodes搜索集
  添加Node到树,使用add方法。这个方法包含2个参数,relative和relationship,其决定在哪里添加结点。第一个参数relative
  命名结点;第二个参数relationship指定新结点和结点(relative)的关系。
  
  例如,下面的代码添加一个结点”11 node“作为结点”7 node“的一个子结点。常数tvwChild指定新结点是一个子结点。
  第三个参数赋值关键属性到新结点。
  tvwMyTree.Nodes.Add "7 node",tvwChild,"11 node"
  
  提示:使用set声明使用add方法使的调试你的代码更简单。

将本文收藏到QQ书签与更多好友分享