0

请有人可以帮助我将树视图的子项检查到 c# 中的数组列表中

4

1 回答 1

0

你可以用递归来喂 ArrayList,就像这样

    // Add Node checked children into ArrayList
    private static void AddCheckedNodes(TreeNode node, ArrayList list) {
      if (node.Checked)
        list.Add(node);

      for (int i = 0; i < node.Nodes.Count; ++i)
        AddCheckedNodes(node.Nodes[i], list);
    }

    // Add TreeView checked nodes into ArrayList
    public static void AddCheckedNodes(TreeView value, ArrayList list) {
      if (Object.ReferenceEquals(null, value))
        throw new ArgumentNullException("value");

      if (Object.ReferenceEquals(null, list))
        throw new ArgumentNullException("list");

      for (int i = 0; i < value.Nodes.Count; ++i) 
        AddCheckedNodes(value.Nodes[i], list);
    }

   ...

   AddCheckedNodes(myTreeView, myArrayList);

PS ArrayList 是一个过时的类,List 会更好

于 2013-06-22T14:01:05.743 回答