treeview控件使用详解_C#小技能,通过扩展类获得TreeView树所有节点

52c45d37fe3303fdaa19016dff46d24f.png

树图

在使用Treeview控件时,经常要遍历其所以节点。Treeview控件本身没有这个功能。这里我们利用递归方法,实现GetAllNodes()函数来获得根所有根节点下的节点。返回值为节点列表,函数为静态。

我们可以把这两个函数增加到Treeview树的类中,叫扩展类功能。

这里的this,指明扩展类的主体。一个是Treeview,获得整个树的所有节点列表,一个是节点,获得该节点下的所有节点列表。

public static class TreeViewExtensions{ public static List GetAllNodes(this TreeView tv) { List result = new List(); foreach (TreeNode child in tv.Nodes) { result.AddRange(child.GetAllNodes()); } return result; }
 public static List GetAllNodes(this TreeNode node) { List result = new List(); result.Add(node); foreach (TreeNode child in node.Nodes) { result.AddRange(child.GetAllNodes()); } return result; }}

例子,直接调用

treeview.GetAllNodes();

获得该树里的所有节点 。

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页