首先我们有全能的代码!TreeNodeCollection参考问题
List nodes = new List();
TreeNode Temp = new TreeNode();
TreeNodeCollection nodeList = treeViewTab4DirectoryTree.Nodes;
while (nodeList.Count != 0)
{
Temp = nodeList[0];
while (Temp.FirstNode != null)
{
Temp = Temp.FirstNode;
}
if (!nodes.Contains(Temp.FullPath))
{
nodes.Add(Temp.Text);
}
nodeList.Remove(Temp);
}
现在的问题:我写了上面的代码,目的是创建一个包含树中所有节点的文本的列表。这是完美的。我遇到的问题是,当我从我的变量中删除节点时,它们也将从实际列表中删除。问题是如何制作节点列表的副本,以便我可以在不与ACTUAL列表混淆的情况下使用它们。如何在不参考它的情况下制作它的副本?任何帮助将不胜感激!
FYI:在第二行,你不需要创建一个新的'TreeNode' - 你可以直接指定那个变量'null'来启动。 – 2010-02-24 13:50:50
@Jon谢谢。我在我的代码中进行了更改 – Adkins 2010-02-24 15:07:21
这是标准的WinForms TreeView吗?当然,你必须打算使用:列表 nodes = new List (); ? ...也没有必要初始化'Temp to anything:你可以使用:TreeNode Temp; –
BillW
2010-02-24 15:08:41