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();获得该树里的所有节点 。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)