Прежде всего, у нас есть всемогущий код!Проблема с ссылкой на 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: В строке 2 вам не нужно создавать новый «TreeNode» - вы можете просто назначить эту переменную «null» для начала. –
@Jon Спасибо.Я внес изменения в свой код – Adkins
Является ли это стандартным WinForms TreeView? Разумеется, вы должны были использовать: Список nodes = new Список (); ? ... Также нет необходимости инициализировать «Temp»: вы можете просто использовать: TreeNode Temp; –
BillW