ツリービューのノードを制御したいときがあったので…大雑把にはこんな感じ。
- 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番目のノードをクリックしてみて…
ボタンをクリックすると先頭のノードが選択状態になる。
これを応用すりゃ好きなとこを選択状態にできるっぽい。
んまま、メモってことで。




