有关treeview获取节点的问题
											在一个treeview中有多个在不同位置的节点符合某要求(比如node.tag ==2),如何遍历这个树并把符合要求的节点添加到集合中,最后返回这个集合。谢谢大佬们										
					
	 2020-08-16 19:03
	    2020-08-16 19:03
   程序代码:
程序代码:
private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < 5; i++) {
                TreeNode tn = new TreeNode();
                tn.Text = $"节点{i}";
                tn.Tag = i;
                for (int j = 0; j < 5; j++) {
                    TreeNode tn1 = new TreeNode();
                    tn1.Text = $"子节点{j}";
                    tn1.Tag = j;
                    tn.Nodes.Add(tn1);
                    for (int k = 0; k < 5; k++) {
                        TreeNode tn2 = new TreeNode();
                        tn2.Text = $"子子节点{k}";
                        tn2.Tag = k;
                        tn1.Nodes.Add(tn2);
                    }
                }
                treeView1.Nodes.Add(tn);
            }
        }
        private List<TreeNode> find_node(TreeNode tn) {
            List<TreeNode> node_list = new List<TreeNode>();
            //首先判断本节点是不是符合条件的
            if (tn.Tag.ToString() == "2") {
                node_list.Add(tn);
            }
            //如果有子节点
            if (tn.Nodes.Count > 0)
            {
                foreach (TreeNode t in tn.Nodes) {
                    node_list.AddRange(find_node(t));
                }
            }
            return node_list;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            //查询符合条件的节点集合
            List<TreeNode> node_list = new List<TreeNode>();
            foreach (TreeNode tn in treeView1.Nodes) {
                node_list.AddRange(find_node(tn));
            }
            int cc = 0;
        }
										
					
	 2020-09-03 22:41
	    2020-09-03 22:41
   2021-03-17 10:59
	    2021-03-17 10:59