ツリービューのノードを制御したいときがあったので…大雑把にはこんな感じ。
- TreeViewNodeの先頭のオブジェクトを取ってくる
- 1のオブジェクトを選択状態にする
んで、サンプルとして用意したFormはこんな感じ。
TreeViewの名前はMainTreeView、Buttonの名前はActionButtonにした。
TreeViewのプロパティはこんな感じで設定した。
- FullRowSelect…True
- HideSelection…False
- Nodes…ノードを3個追加しとく
- ShowLines…False
- ShowPlusMinus…False
- ShowRootLines…False
- BorderStyle…FixedSingle
- ItemHight…24
んで、コードはこんな感じ。
/// <summary> /// ボタンをクリックしたときのイベント /// </summary> /// <param name="objSender">イベントを呼んだオブジェクト</param> /// <param name="objArguments">イベントの引数</param> private void OnClickActionButton(object objSender, EventArgs objArguments) { // ツリービューの先頭ノードを取得する TreeNode objTopNode = MainTreeView.TopNode; // 先頭ノードを選択状態に変更する MainTreeView.SelectedNode = objTopNode; // ボタンをクリックするとボタンにフォーカスがあたってしまうのでツリービューにフォーカスをあて直す MainTreeView.Focus(); }
で、起動したすぐはこんな感じ。
とりあえず3番目のノードをクリックしてみて…
ボタンをクリックすると先頭のノードが選択状態になる。
これを応用すりゃ好きなとこを選択状態にできるっぽい。
んまま、メモってことで。