winform下的treeview选取被选中的节点(递归实现)

本文介绍了如何在WinForm应用程序中通过递归方式获取TreeView控件中被选中的节点。提供了一个包括CallRecursive和PrintRecursive两个方法的示例,使用时需初始化_lstCheckedTreeNode列表,以避免节点选择错误。示例代码展示了如何遍历并收集所有选中的TreeNode。
摘要由CSDN通过智能技术生成

以下是通过递归选取winform下treeview被选中的节点,其中定义了公共变量_lstCheckedTreeNode=new List<TreeNode>();在每次调用方法之前需要实例化lstCheckedTreeNode,否则你选取的节点将会有错误,具体实现方法如下:

 

private void CallRecursive(TreeView treeView)
        {
            TreeNodeCollection nodes = treeView.Nodes;
            foreach (TreeNode n in nodes)
            {
                PrintRecursive(n);
            }
        }

 

private void PrintRecursive(TreeNode treeNode)
        {
            if (treeNode.Checked)
            {
                this._lstCheckedTreeNode.Add(treeNode);
            }

            foreach (TreeNode tn in treeNode.Nodes)
            {
                PrintRecursive(tn);
            }
        }

 

使用方法如下: _lstCheckedTreeNode = new List<TreeNode>(); CallRecursive(this.treeMenu1);

 

 

声明:上面的两个方法是我从网上找到的,只是稍微做了下修改,但是我已经忘记是在哪里找到的,希望原创作者原谅!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值