簡體   English   中英

識別TreeView中的所有父節點

[英]Identifying all parent nodes in TreeView

我有一棵看起來像這樣的樹:

+Parent
       -Child
+Parent
       -Child
       +Parent
              -Child
+Parent
+Parent
       +Parent
              +Parent
                     -Child
                     -Child... etc.

我需要能夠識別所有父級節點,而不管其級別如何。 基本上,我需要一個exampleTree.Nodes.GetAllParents()方法。

我使用的幾種擴展方法:

public static class TreeViewEx {

  public static List<TreeNode> GetParentNodes(this TreeView treeView) {
    List<TreeNode> results = new List<TreeNode>();
    foreach (TreeNode node in treeView.Nodes) {
      results.AddRange(GetNodes(node));
    }
    return results;
  }

  private static List<TreeNode> GetNodes(TreeNode parentNode) {
    List<TreeNode> results = new List<TreeNode>();
    if (parentNode.Nodes.Count > 0) {
      results.Add(parentNode);
      foreach (TreeNode node in parentNode.Nodes) {
        results.AddRange(GetNodes(node));
      }
    }
    return results;
  }

}

用法如下:

List<TreeNode> parents = treeView1.GetParentNodes();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM