C#搜索TreeView子节点,保留父节点的方法
本文实例讲述了C#搜索TreeView子节点,保留父节点的方法。分享给大家供大家参考。具体如下:
C#搜索TreeView子节点保留父节点:
privatevoidselectNodeByName(stringname)
{
//重新生生成树,
InitTvCatalog();
//删除节点
selectNode(tvCatalog.Nodes,name);
}
privatevoidselectNode(TreeNodeCollectionnodes,stringname)
{
booldel=true;
for(inti=nodes.Count-1;i>=0;i--)
{
TreeNodenode=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子节点保留父节点:
privatevoidselectNodeByName(stringname)
{
//重新生生成树,
method=newCommon.PublicMethod();
method.TreeViewLoad();
//删除节点
selectNode(RegimeSetting.Common.StaticVariables.treeView.Items,name);
method=null;
}
privatevoidselectNode(ItemCollectionnodes,stringname)
{
booldel=true;
for(inti=nodes.Count-1;i>=0;i--)
{
TreeViewItemnode=nodes[i]asTreeViewItem;
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.ParentasTreeViewItem)!=null)
(node.ParentasTreeViewItem).Items.Remove(node);
else
(node.ParentasTreeView).Items.Remove(node);
}
}
(RegimeSetting.Common.StaticVariables.treeView.Items[0]asTreeViewItem).IsExpanded=true;
}
希望本文所述对大家的C#程序设计有所帮助。