DOBON.NET DOBON.NETプログラミング掲示板過去ログ

TreeViewのチェックボックスについて

環境/言語:[WindowxXP VB.NET]
分類:[.NET]

TreeViewのチェックボックスについて質問です。

チェックONにしたら、それ以下の階層を全てチェックOFFに。
チェックOFFにしたら、それ以下の階層を全てチェックONに
したいのです。

TreeViewのClickイベントで、どこをON,OFFしたのか取得はできるのでしょうか。
OnOffしたノードは選択状態にはなっていないのでSelectedNodeでは取得できないんです。
または他に使えそうなイベントはあるでしょうか。
自己返信です。

すみません。
AfterCheckってイベントがありましたね。

質問を少し変えます。
AfterCheckイベントの中で、これがどのノードかってのは、
どうやったら判断できるのでしょうか。

まだまだ初心者で色々調べているのですが、なかなかわかりません。。。
■No18331に返信(あいりさんの記事)

AfterCheck イベントまでたどり着けたなら、もうちょっと調べるとわかりそうですね。
わかるところは全部調べてみるといいですよ。

ヒント:TreeViewEventArgs
# 答えそのものじゃねえか、というツッコミは無用です
こっ、こんな所にあったんですね。
全然検討違いな所を調べてました・・・。

ありがとうございました!
解決済み!
すみません。
解決してませんでした。

チェックONOFFした、それ以下の階層全てのチェックを変更って
どうやったらいいのでしょうか・・・。

ちなみに、下にどこまで階層があるかはわからないんです。
・GetNodeCountで最終階層かどうか調べる
・階層レベルは.Levelで取得できる
はわかったんですが。

vb6.0には.Childなんて便利なメソッドがあったみたいですが
vb.netにはない????

またまたピントはずれな所ばかり調べてるのかなあ・・・。
■No18336に返信(あいりさんの記事)
[VB.NET]でも[VB2005]と[VB.NET2003(2002)]では使えるコードがだいぶ変わってるから
どっちの質問なのか書いたほうが良いよ。
>・階層レベルは.Levelで取得できる
Level が使えるってことは[VB2005]だと思いますが、
まずはヘルプを見てください。

コードで TreeView の処理の辺りを選択状態にして[F1]キーを押せば
関連あるヘルプ(MSDN)に飛びます。
ページの一番下とかに[関連項目]へのリンクがありますが、ここから
[TreeNode メンバ]のページへ飛んでください。
http://msdn2.microsoft.com/ja-jp/library/system.windows.forms.treenode_members(VS.80).aspx

子ノードを取得したいのですから[Ctrl]+[F]で『子』を検索すれば
 FirstNode
 LastNode
辺りが見つかります。更にそれぞれのページで[関連項目]を見れば
 NextNode
も見つかると思います。

DOBON.NET | プログラミング道 | プログラミング掲示板