TreeView(ノードの追加2)

どのノードに子を付けたいのか、あるいは親ノードになりたいのか、兄弟ノードになりたいのか、そこらへんを意識していないと話がよくわからなくなる。今回は、”今記憶している物が親ノード”で子ノードを追加する場合と、今作成したノードを親ノードに指定する方法を試した。

ひとまず、親を得る方法から。

TreeNode parent = TreeView.Nodes[0];
TreeNode parent = (TreeNode).Nodes[index];
TreeNode parent = TreeView.SelectedNode;
TreeNode parent = (TreeNode).Parent;

どのノードであるかを明示的に指定しなければいけない。Nodesプロパティーをそのまま渡そうとしたら失敗した。あと、ParentとかPrevNodeなどの指定もできるらしい。その際、エラー処理を忘れず。

親ノードに子ノードを追加するのは容易、というか基本か。親ノードとして、今のノードの親ノードを指定すると、新しいノードは今のノードの兄弟になることがおわかりになりますでしょうか。私は混乱してきました。

parent.Nodes.Add(new TreeNode(text));

最後に、たった今作成・追加したノードを得る。

TreeNode newNode = new TreeNode(text);
int nowNodeIndex = parent.Nodes.Add(newNode);

TreeNode nowNode = parent.Nodes[nowNodeIndex];
TreeNode nowNode = newNode;

これであなたもツリービューが使えるように?