我有一个带有用户可编辑节点的 TreeView。我喜欢使用节点标题作为我的树节点的键:
+ Root
|+ Node1
||- SubNode1
||- SubNode2
|+ Node2
||- SubNode3
||- SubNode4
所以我可以到达这样的节点:
MyTreeView.Nodes["Root"].Nodes["Node2"].Nodes["SubNode3"]
问题是,当我允许用户重命名任何节点时,我还需要在 AfterLabelEdit 处理程序中更改其父节点中节点的键......这似乎(逻辑上)不会自动完成。不幸的是, Nodes["blabla"] 是只读的, Nodes.Add(string Key, TreeNode Node) 不存在,而且我找不到一种方法来做到这一点而不抛出(迟早)一个糟糕的异常。
任何的想法 ?