如何C#中实现在TreeView查找某一节点

 我来答
benben239
2015-10-05 · TA获得超过864个赞
知道小有建树答主
回答量:612
采纳率:100%
帮助的人:493万
展开全部
       /// <summary>
        /// 按钮事件
        /// </summary>
        private void button1_Click(object sender, EventArgs e)
        {
            //遍历Tree中的所有根节点
            foreach (TreeNode node in this.tvList.Nodes)
            {
                //将每个根节点代入方法进行查找
                TreeNode temp = FindNode(node, this.txtName.Text);
                //找到输出结果
                if (temp != null)
                {
                    MessageBox.Show(string.Format("找到,深度{0},索引{1}", temp.Level, temp.Index));
                    return;
                }
            }
            MessageBox.Show("没有找到");
        }

        //递归查询,找到返回该节点
        private TreeNode FindNode(TreeNode node, string name)
        {
            //接受返回的节点
            TreeNode ret = null;
            //循环查找
            foreach (TreeNode temp in node.Nodes)
            {
                //是否有子节点
                if (temp.Nodes.Count != 0)
                {
                    //如果找到
                    if ((ret = FindNode(temp, name)) != null)
                    {
                        return ret;
                    }
                }
                //如果找到
                if (string.Equals(temp.Text, name))
                {
                    return temp;
                }
            }
            return ret;
        }

可以实现你的要求,可以参考下

光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
百度网友022523ba3
2015-09-29 · TA获得超过678个赞
知道小有建树答主
回答量:416
采纳率:100%
帮助的人:252万
展开全部
这个没什么难度吧!一个简单的递归就搞定了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Bears_s
2015-09-27 · TA获得超过224个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:206万
展开全部
遍历所有节点查询位子
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式