ユーザーが編集可能なノードを持つ TreeView があります。ノード キャプションをツリー ノードのキーとして使用するのが好きです。
+ Root
|+ Node1
||- SubNode1
||- SubNode2
|+ Node2
||- SubNode3
||- SubNode4
したがって、次のようなノードに到達できます。
MyTreeView.Nodes["Root"].Nodes["Node2"].Nodes["SubNode3"]
問題は、ユーザーが任意のノードの名前を変更できるようにするため、AfterLabelEdit ハンドラーで親のノードのキーも変更する必要があることです...これは (論理的に) 自動的に行われないようです。残念ながら、Nodes["blabla"] は読み取り専用であり、Nodes.Add(string Key, TreeNode Node) は存在しません。(遅かれ早かれ) 悪い例外をスローせずにこれを行う方法を見つけることができません。
何か案が ?