2-10  TreeView 控件<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

u 本节学习目标:

n了解TreeView控件的属性及方法

n掌握TreeView控件中加入子节点兄弟节点,删除节点,展开所有节点,展开选定节点的下一级节点,折叠所有节点的基本方法

n掌握ContentMenuStrip控件在TreeView控件中的应用

n 学习TreeView控件综合开发设计方法

    <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />2-10-1 简介

2-9节我们提到在Windows 资源管理器中左窗格所包含的目录和文件是以树型视图样式排列的对象就是本节将讨论的TreeView 控件的实际应用,在 TreeView 控件中,复选框和图标可以和文本一起显示,用于以节点形式显示文本或数据,这些节点按层次结构顺序排列。TreeView 控件的实际应用如图2-34所示。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

2-10 TreeView 控件
2-34 TreeView控件的应用样式
TreeView控件中,节点集和节点对象是重要的知识概念。TreeView控件的Nodes属性表示为TreeView控件指定的树节点集,而树节点集中的每个树节点对象可包括它本身的树节点集,在树节点集中Add()Remove()RemoveAt()方法使开发人员可添加和移动集中的单个树节点。

添加、修改和删除节点是TreeView控件在操作中经常使用的方法,由于TreeView控件以层次结构方式显示节点,因此在将新节点添加到现有TreeView 时,重要的是注意新节点所添加到的父节点;反之,如果删除节点时候,必须确保删除的节点无父节点方可进行删除工作,否则系统将出现错误。

    2-10-2  TreeView控件的属性及方法

    TreeView控件主要的属性和事件如表2-10所示:

属性

说明

Nodes

TreeView中的根节点具体内容集合

ShowLines

是否显示父子节点之间的连接线,默认为True

StateImageList

树型视图用以表示自定义状态的ImageList控件

Scrollable

是否出现滚动条

事件与方法

说明

AfterCheck

选中或取消属性节点时候发生

AfterCollapse

在折叠节点后发生

AfterExpand

在展开节点后发生

AfterSelect

更改选定内容后发生

BeforeCheck

选中或取消树节点复选框时候发生

BeforeCollapse

在折叠节点前发生

BeforeExpand

在展开节点前发生

BeforeSelect

更改选定内容前发生

2-10 TreeView控件的属性及方法
TreeView控件的操控过程主要包括:加入子节点,加入兄弟节点,删除节点,展开和折叠节点等。下面分别进行讨论分析:

1. 加入子节点

加入子节点的具体过程是:首先要在TreeView组件中定位要加入的子节点的位置,然后创建一个节点对象,然后利用TreeVeiw类中对节点的加入方法(即:Add ( )方法),加入此节点对象。一般添加子节点的语句是:treeView1.SelectedNode.Nodes.Add ( tmp )

2. 加入兄弟节点

与加入子节点的方法类似,加入兄弟节点的具体过程是:首先要寻找当前选中节点的父节点,然后再改父节点下面再建立子节点,就可以建立选中节点的兄弟节点了。一般添加兄弟节点的语句是:treeView1.SelectedNode.Parent.Nodes.Add ( tmp )

3. 删除节点

    删除节点的具体过程是:首先判断要删除的节点是否存在下一级节点,如果不存在,就调用TreeView类中的Remove ( )方法,就可以删除节点了。一般删除节点的语句是:treeView1.SelectedNode.Remove ( ) ;

4. 展开所有节点

展开所有节点的具体过程是:首先获取当前TreeView控件的根节点,然后利用ExpandAll方法实施展开节点。一般展开所有节点的语句是:

    //定位根节点

    treeView1.SelectedNode = treeView1.Nodes [ 0 ] ;

    //展开组件中的所有节点

    treeView1.SelectedNode.ExpandAll ( ) ; 

5. 展开选定节点的下一级节点

展开选定节点的下一级节点的具体过程是:首先获取当前选中的节点,然后利用Expand方法实施展开节点。一般展开所有节点的语句是:

    treeView1.SelectedNode.Expand () ;

6. 折叠所有节点

折叠所有节点的具体过程是:首先获取当前TreeView控件的根节点,然后利用Collapse

方法实施折叠节点。一般折叠所有节点的语句是:

//定位根节点   

treeView1.SelectedNode = treeView1.Nodes [ 0 ] ;   

//折叠组件中所有节点   

treeView1.SelectedNode.Collapse ( ) ;