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

来源:互联网 发布:wifi万能钥匙软件下载 编辑:程序博客网 时间:2024/06/06 10:52

以下是通过递归选取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);

 

 

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

原创粉丝点击