加入收藏 | 设为首页 |

突袭-C#小技术,经过扩展类取得TreeView树一切节点

海外新闻 时间: 浏览:308 次

树图

在运用Treeview控件时,常常要遍历其所以节点。Treeview控件自身没有这个功用。这儿咱们使用递归办法,完成GetAllNodes()函数来取得根一切根节点下的节点。返回值为节点列表,函数为静态。

咱们能够把这两个函数增加到Treeview树的类中,叫扩展类功用。

这儿的this,指明扩展类的主体。一个是Treeview,取得整个树的突袭-C#小技术,经过扩展类取得TreeView树一切节点一切节点列表,一个是节点,qaq取得该节点下的一切节点列表。

public static class TreeViewExtensions
{
public static List GetAllNodes(this TreeView tv)
{
List突袭-C#小技术,经过扩展类取得TreeView树一切节点 result = new List();
foreac突袭-C#小技术,经过扩展类取得TreeView树一切节点h (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();

取得该树里的一切节点 。