批量代码如下:            foreach (TreeNode NND in TVA.Nodes)
            {
                IDs += NND.Tag.ToString() + ",";
                TreeNode node = NND;
                TVA.Nodes.Remove(NND);
                TVB.Nodes.Add(NND);
            }
现在的问题是, 类似的代码 单个移动没有问题。 但是我foreach   一次不会全部移动过去。  每次都一批一批的, 好像每次都是一半。 很奇怪。
我加了变量 统计循环次数, 也确实我Nodes的个数。  但是为什么不能全部移动呢?

解决方案 »

  1.   

    foreach (TreeNode NND in TVA.Nodes)
                {
                    IDs += NND.Tag.ToString() + ",";
                    TreeNode node = NND;
                    TVA.Nodes.Remove(NND); //你在集合中执行了删除,所以出错.
                    TVB.Nodes.Add(NND);
                }可以这样:
    for (int i = TVA.Nodes.Count - 1; i >= 0; i--)
                {
                    IDs += TVA.Nodes[i].Tag.ToString() + ",";
                    TreeNode node = TVA.Nodes[i];
                    TVA.Nodes.RemoveAt(i);
                    TVB.Nodes.Insert(0, node);            }
      

  2.   


                while (true)
                {            }更适合我, 谢谢你的思路。