c# winform 通过递归在TreeView中查找某个结点

在C# WinForm应用中,为了高效查找并选中特定的TreeView节点,通常会保存节点的完整路径,如x/y/z。当需要根据路径查找节点时,可以采用递归方法实现。这种方法遍历树形结构,逐级查找目标节点,最终将其设置为选中状态。
摘要由CSDN通过智能技术生成

在保存数据时,为了提高查找效率,将树形结构路径完整保存下来,例如tag值为x的一级节点,下面有一个tag值为y的二级节点,该节点下tag值为z的三级节点,路径就是x/y/z。

查找该节点并设置为选中状态时,通过如下方法(递归)

/// <summary>
/// 在根据路由在树中查找某个节点
/// </summary>
/// <param name="router">路由信息,x/y/z</param>
/// <param name="tv">要查找的数</param>
/// <returns>返回被找到的节点</returns>
public static TreeNode findTreeNode(string router, TreeView tv)
{
    string[] nodeTags = router.Split('/');            
    return  findTreeNode(nodeTags, tv.Nodes,0);
}

/// <summary>
/// 通过递归的方法找到节点
/// </summary>
/// <param name="destTag">要查找的节点的路由</param>
/// <param name="tns">树形目录所有一级节点</param>
/// <param name="j">层级,第一次为0</param>
/// <returns>返回被找到的节点</returns>
public static TreeNode findTreeNode(stri
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值