TreeNodeクラスは自分自身が展開されたか否かを知る能力がないが、TreeViewではそれを知ることが出来るので、展開されたノードに対して展開された事を通知させることができる。 これにより、ノードが展開されたときとそうでないときに表示されるアイコンを切り替えることができる TreeNodeの拡張クラスを紹介する。
ここで紹介するTreeNodeExクラスは、次の四つのプロパティでアイコンを変えることができる。
- ImageIndexプロパティ
- 展開されていない場合で、かつ選択されていないとき
- SelectedImageIndexプロパティ
- 展開されていない場合で、かつ選択されているとき
- ExpandedImageIndexプロパティ
- 展開されている場合で、かつ選択されていないとき
- ExpandedSelectedImageIndexプロパティ
- 展開されている場合で、かつ選択されているとき
また、それぞれのノードに対して、展開されたとき(Expanded)と折り畳まれたとき(Collapsed)に呼び出されるイベントハンドラを割り当てられるようになっている。