遍历TreeView得到选中的节点

来源:互联网 发布:php异步队列 编辑:程序博客网 时间:2024/05/07 07:17

 #region "递归TreeView,把所有被选中的节点ID记录到ArrayList中"
  ///递归TreeView,把所有被选中的节点ID记录到ArrayList中
  private void RecursiveTree(TreeView tree)
  {
   TreeNodeCollection nodes = tree.Nodes;
   foreach (TreeNode n in nodes)
   {
    RecursiveNodes(n);
    AddCheckedID(n);
   }
  }

  ///递归TreeView的节点,把所有被选中的节点ID记录到ArrayList中
  private void RecursiveNodes(TreeNode node)
  {
   foreach (TreeNode tn in node.Nodes)
   {
    RecursiveNodes(tn);
    AddCheckedID(tn);
   }
  }

  ///把所有被选中的节点ID和记录到ArrayList中
  private void AddCheckedID(TreeNode node)
  {
   if(node.Checked)
   {
    AddIdToArrayList(node.ID);
   }
  }

  ///把所有被选中的节点ID记录到ArrayList中,如果ID已经存在,则不添加
  private void AddIdToArrayList(string nodeID)
  {  

   arr.Add(nodeID);  
  }
 #endregion