У меня есть TreeView с редактируемыми пользователем узлами. Мне нравится использовать заголовок узла в качестве ключа к моему узлу дерева:
+ Root
|+ Node1
||- SubNode1
||- SubNode2
|+ Node2
||- SubNode3
||- SubNode4
Итак, я могу добраться до узла следующим образом:
MyTreeView.Nodes["Root"].Nodes["Node2"].Nodes["SubNode3"]
Проблема заключается в том, что, поскольку я разрешаю пользователю переименовывать любой узел, мне также необходимо изменить ключ моего узла в его родительском элементе в обработчике AfterLabelEdit ... который (логически) кажется не выполняемым автоматически.
К сожалению, Nodes ["blabla"] доступен только для чтения, Nodes.Add (строка Key, TreeNode Node) не существует, и я не могу найти способ сделать это, не выбрасывая (рано или поздно) плохое исключение. *
Есть идеи?