首页 > 编程 > C# > 正文

C#搜索TreeView子节点,保留父节点的方法

2019-10-29 21:38:23
字体:
来源:转载
供稿:网友

这篇文章主要介绍了C#搜索TreeView子节点,保留父节点的方法,实例分析了C#操作TreeView节点的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了C#搜索TreeView子节点,保留父节点的方法。分享给大家供大家参考。具体如下:

C# 搜索TreeView子节点保留父节点:

 

 
  1. private void selectNodeByName(string name) 
  2. //重新生生成树, 
  3. InitTvCatalog(); 
  4. //删除节点 
  5. selectNode(tvCatalog.Nodes, name); 
  6. private void selectNode(TreeNodeCollection nodes, string name) 
  7. bool del = true
  8. for (int i = nodes.Count - 1; i >= 0; i--) 
  9. TreeNode node = nodes[i]; 
  10. del = true
  11. if (node.Nodes.Count != 0) 
  12. selectNode(node.Nodes, name); 
  13. if (node.Text.StartsWith(name, StringComparison.OrdinalIgnoreCase)) 
  14. del = false
  15. else 
  16. del = true
  17. if (del && node.Nodes.Count == 0) 
  18. node.Remove(); 
  19. tvCatalog.ExpandAll(); 

WPF搜索TreeView子节点保留父节点:

 

 
  1. private void selectNodeByName(string name) 
  2. //重新生生成树, 
  3. method = new Common.PublicMethod(); 
  4. method.TreeViewLoad(); 
  5. //删除节点 
  6. selectNode(RegimeSetting.Common.StaticVariables.treeView.Items, name); 
  7. method = null
  8. private void selectNode(ItemCollection nodes, string name) 
  9. bool del = true
  10. for (int i = nodes.Count - 1; i >= 0; i--) 
  11. TreeViewItem node = nodes[i] as TreeViewItem; 
  12. del = true
  13. if (node.Items.Count != 0) 
  14. selectNode(node.Items, name); 
  15. if (node.Header.ToString().StartsWith(name, StringComparison.OrdinalIgnoreCase)) 
  16. del = false
  17. else 
  18. del = true
  19. if (del && node.Items.Count == 0) 
  20. if ((node.Parent as TreeViewItem) != null
  21. (node.Parent as TreeViewItem).Items.Remove(node); 
  22. else 
  23. (node.Parent as TreeView).Items.Remove(node); 
  24. (RegimeSetting.Common.StaticVariables.treeView.Items[0] as TreeViewItem).IsExpanded = true

希望本文所述对大家的C#程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表