У меня есть вид дерева, который пользователь не может редактировать.Способ, которым я пытаюсь обновить, - это очистить все дерево и заново добавить все узлы (и дочерние элементы).Я выполняю это с помощью следующих строк кода:
treeView.BeginUpdate(); //Freeze drawing
treeView.Nodes.Clear(); //Empty Tree
addAllNodes(); //This adds the nodes for the tree and sets their name/text property
treeView.EndUpdate(); //Unfreeze drawing
Я пытался добавить метод Update и Refresh перед вызовом addAllNodes, но ничего не изменил.Выполнение вышеизложенного приводит меня к ошибке:
System.ArgumentException: невозможно добавить или вставить элемент 'NodeNameHere' в более чем одном месте.Сначала вы должны удалить его из его текущего местоположения или клонировать
Мой первый вопрос: что я делаю, чтобы вызвать эту ошибку и как правильно обновить дерево?
МойВторой вопрос: после обновления есть ли способ восстановить расширенные узлы пользователя?(чтобы не все рухнуло)