1、 节点查找:
首先要看以什么方式查找,比如是以节点的索引查找,还是以节点的名称或是其他条件查找?本项目中,到目前为止,我考虑的是以节点的名称准确匹配,查找递归函数如下:
public TreeNode RuleFind(string strFind)
{
TreeNode tnRet = null;
foreach(TreeNode tn in TreeView1.Nodes) )//Treeview1:查找树
{
tnRet = RuleFindNode(tn, strFind.Trim());
if (tnRet != null)
break;
}
return tnRet;
}
private TreeNode RuleFindNode(TreeNode tnParent, string strValue)//递归查找树型节点
{
if (tnParent == null) return null;
if (tnParent.Text.Trim() == strValue)
{
ExpandParent(tnParent); )//调用节点展开函数
tnParent.Selected = true;