treeview获取当前点击的节点「treeview控件实用详解」

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

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

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

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

 result.Add(node);
 foreach (TreeNode child in node.Nodes)
 {
 result.AddRange(child.GetAllNodes());
 }

 return result;
 }
}

例子,直接调用

treeview.GetAllNodes();

获得该树里的所有节点 。

原创文章,作者:投稿专员,如若转载,请注明出处:https://www.506064.com/n/273561.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
投稿专员的头像投稿专员
上一篇 2024-12-17 14:06
下一篇 2024-12-17 14:06

相关推荐

发表回复

登录后才能评论