TreeNodeの折りたたみをキャンセルする


■特定のノードの折りたたみをキャンセルする方法

 Private Sub TreeView_BeforeCollapse _
  (sender As Object, e As System.Windows.Forms.TreeViewCancelEventArgs) _
  Handles TreeView.BeforeCollapse

  e.Cancel = e.Node.Equals(TreeView.Nodes(0))

 End Sub
上記は、コントロールのトップのノードのみをキャンセルする方法です。

■どんなケースで必要なのか?

ユーザーの操作によってノードを折りたたませたくない時などに有効ですね、 状況により様々な条件がありますがあると思いますが、 あとは応用で「e.Cancel」にBoolean型の値(True、False)がセットされる様にすれば良いわけです。 逆に「TreeView.BeforeExpand」イベントハンドラで同じ記述をすればノードを開く事をキャンセルできますが ・・・条件によって、そのノードの内容を見せたくない時などでしょうか?

TOP ▲