在TreeView C#中只查找子节点

本文关键字:查找 子节点 TreeView | 更新日期: 2023-09-27 18:28:46

我有以下树

A
+-B
+-C 
| +-D
| +-E
+-F
  +-G
  +-H

我正在查找B, D, E, G, H。排除具有树的节点,只保留其子节点。

在TreeView C#中只查找子节点

您可以在树节点列表中递归地收集子节点:

 List<TreeNode> children = new List<TreeNode>();
 foreach(TreeNode node in  TV.Nodes) collectChildren(node);
 void collectChildren(TreeNode node)
 {
    if (node.Nodes.Count == 0) children.Add(node) 
    else  foreach(TreeNode n in node.Nodes) collectChildren(n);
 }