[英]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.