TreeView组件是由多个类来定义的TreeView组件是由命名空间SystemWindowsForms中的TreeView类来定义的而其中的节点(即Node)是由命名空间SystemWindowsForms中的TreeNode来定义的所以当在程序中创建一个TreeView对象其实只是创建了一个可以放置节点的容器而在这个容器中加入一个节点其实就是加入了从TreeNode类中创建的一个节点对象同样删除一个节点也就是删除一个TreeNode节点对象
一. 本文中介绍的程序设计及运行环境
()微软视窗 服务器版
()Net Framework SDK 正式版
二. C#操作TreeView组件中的一些常用方法以及具体实现
TreeView组件虽然是一个操作起来比较麻烦的组件但归根到底可以总结为三种基本操作加入子节点加入兄弟节点和删除节点掌握了这三种常用操作对于在编程中灵活运用TreeView组件是十分必要的下面就分别来加以介绍
()加入子节点
所谓子节点就是处于选定节点的下一级节点加入子节点的具体过程是首先要在TreeView组件中定位要加入的子节点的位置然后创建一个节点对象然后利用TreeVeiw类中对节点的加入方法(即Add ( )方法)加入此节点对象下面就是在treeView组件中加入一个子节点的具体代码
//首先判断是否选定组件中的位置
if ( treeViewSelectedNode == null )
{
MessageBoxShow ( 请选择一个节点 提示信息 MessageBoxButtonsOK MessageBoxIconInformation ) ;
}
else
{
//创建一个节点对象并初始化
TreeNode tmp ;
tmp = new TreeNode ( 节点名称 ) ;
//在TreeView组件中加入子节点
treeViewSelectedNodeNodesAdd ( tmp ) ;
treeViewSelectedNode = tmp ;
treeViewExpandAll ( ) ;
}
()加入兄弟节点
所谓兄弟节点就是在选定的节点的平级的节点加入兄弟节点的方法和加入子节点的方法基本一致只是在最后的实现方法上有着略微的区别加入兄弟节点的具体步骤首先也是要确定要加入的兄弟节点所处的位置接着定义一个节点对象最后调用TreeView类中对兄弟节点加入的方法加入此节点对象加入兄弟节点和加入子节点的最大区别就在于这最后一步希望读者能够注意下面是在TreeView组件加入一个兄弟节点的具体代码
//首先判断是否选定组件中节点的位置
if ( treeViewSelectedNode == null )
{
MessageBoxShow ( 请选择一个节点 提示信息 MessageBoxButtonsOK MessageBoxIconInformation ) ;
}
else
{
//创建一个节点对象并初始化
TreeNode tmp ;
tmp = new TreeNode ( textBoxText ) ;
//在TreeView组件中加入兄弟节点
treeViewSelectedNodeParentNodesAdd ( tmp ) ;
treeViewExpandAll ( ) ;
}
()删除节点
删除节点就是删除TreeView组件中选定的节点删除节点可以是子节点也可以是兄弟节点但无论节点的性质如何必须保证要删除的节点没有下一级节点否则必须先删除此节点中的所有下一级节点然后再删除此节点删除节点比起上面的二个操作要显得略微简单具体方法是首先判断要删除的节点是否存在下一级节点如果不存在就调用TreeView类中的Remove ( )方法就可以删除节点了下面是删除TreeView组件中节点的具体代码
//判断选定的节点是否存在下一级节点
if ( treeViewSelectedNodeNodesCount == )
//删除节点
treeViewSelectedNodeRemove ( ) ;
else
MessageBoxShow ( 请先删除此节点中的子节点! 提示信息 MessageBoxButtonsOK MessageBoxIconInformation ) ;
()TreeView组件的一些其他常用操作
其他的一些常用操作比起上面的三种操作在具体实现上要显得简单许多这些常用操作无非是展开所有节点展开指定的节点和折叠所有节点下面就来具体介绍一下
< I > 展开所有节点
要展开TreeView组件中的所有节点首先就要把选定的节点指针定位在TreeView组件的根节点上然后调用选定组件的ExpandAll方法就可以了下面是具体代码
//定位根节点
treeViewSelectedNode = treeViewNodes [ ] ;
//展开组件中的所有节点
treeViewSelectedNodeExpandAll ( ) ;
< II > 展开选定节点的下一级节点
由于只是展开下一级节点所以就没有必要用ExpandAll ( )方法了展开下一级节点只需要调用Expand ( )方法就可以了下面是具体的实现代码
treeViewSelectedNodeExpand ( ) ;
< III > 折叠所有节点
折叠所有节点和展开所有节点是一组互操作具体实现的思路也大致相同折叠所有节点也是首先要把选定的节点指针定位在根节点上然后调用选定组件的Collapse ( )就可以了下面是具体的实现代码
//定位根节点
treeViewSelectedNode = treeViewNodes [ ] ;
//折叠组件中所有节点
treeViewSelectedNodeCollapse ( ) ;
至此已经把在C#操作TreeView组件的常用方法和一般方法基本都介绍完了