|
■No25539 (カドルドエグ さん) に返信 > ■No25525 (泥グラマ さん) に返信、 上記の例のように、ボールペン-色、ノート-サイズ-色が決まっているなら、TreeNodeクラスを継承してクラスを作成するのが良いかもしれませんね。 SizeNode,ColorNode,ProductNodeのように。
各継承したNodeには、Nodesオブジェクトが存在するので、各イベントで判断する場合は、senderオブジェクトで判定。 表示(というより子ノードの追加ですよね?)は、親ノードのコレクションクラスの仕事なのでそこに記述(ただし、LIST of Tを使用する場合は別に用意する必要あり。) ノードの種類が増えて可読性が落ちる場合はデリゲートを用意して、個別のイベントを発火。
今はLIST of Tが使えるので、各Nodeクラスコレクションクラスを用意しなくてもよい時代になってるので実装は楽になった部分もありますが、固有の処理を実装したい場合はまだ個別のコレクションクラスを用意した方が可読性よくて個人的には好きです。
TreeViewと何かを連動させるなら、TreeViewも継承すると楽になります。 さらに抽象化して、エクスプローラーのような左右(もしくは上下)連動するコントロールを多用するならデザインパターンが使用できますね。
|