本文實例講述了C#搜索TreeView子節點,保留父節點的方法。分享給大家供大家參考。具體如下:
C# 搜索TreeView子節點保留父節點:
private void selectNodeByName(string name){ //重新生生成樹, InitTvCatalog(); //刪除節點 selectNode(tvCatalog.Nodes, name);}private void selectNode(TreeNodeCollection nodes, string name){ bool del = true; for (int i = nodes.Count - 1; i >= 0; i--) { TreeNode node = nodes[i]; del = true; if (node.Nodes.Count != 0) { selectNode(node.Nodes, name); } if (node.Text.StartsWith(name, StringComparison.OrdinalIgnoreCase)) { del = false; } else { del = true; } if (del && node.Nodes.Count == 0) { node.Remove(); } } tvCatalog.ExpandAll();}
WPF搜索TreeView子節點保留父節點:
private void selectNodeByName(string name){ //重新生生成樹, method = new Common.PublicMethod(); method.TreeViewLoad(); //刪除節點 selectNode(RegimeSetting.Common.StaticVariables.treeView.Items, name); method = null;}private void selectNode(ItemCollection nodes, string name){ bool del = true; for (int i = nodes.Count - 1; i >= 0; i--) { TreeViewItem node = nodes[i] as TreeViewItem; del = true; if (node.Items.Count != 0) { selectNode(node.Items, name); } if (node.Header.ToString().StartsWith(name, StringComparison.OrdinalIgnoreCase)) { del = false; } else { del = true; } if (del && node.Items.Count == 0) { if ((node.Parent as TreeViewItem) != null) (node.Parent as TreeViewItem).Items.Remove(node); else (node.Parent as TreeView).Items.Remove(node); } } (RegimeSetting.Common.StaticVariables.treeView.Items[0] as TreeViewItem).IsExpanded = true;}
希望本文所述對大家的C#程序設計有所幫助。
新聞熱點
疑難解答