53楼的问题出在:
for (int i = 0; i <treeView1.Nodes.Count-1; i++)
{
treeView1.Nodes.RemoveAt(i+1); //删除初始化时添加的,保留原始的第一个.
}
设想一下,如果顺着删除,当i为0时,删除序号为1的节点,此时原先序号为2的节点的序号却变成了序号1,你循环一次后,接着删除序号为2的节点,这就已经漏删除一个节点了,以此类推,问题就可想而知了。所以顺着删除只能这样写:
int count= treeView1.Nodes.Count-1;
for (int i = 0; i <count; i++)
{
treeView1.Nodes.RemoveAt(1);
}