再びお世話になります。
TreeViewで子ノードをクリックした時に、その親ノードのKeyを取得する方法は
ありませんでしょうか。
ご存知の方がいらっしゃいましたら、ご回答の程よろしくお願い致します。
> 再びお世話になります。
隣の.NET掲示板で質問していた「こあら」さんとは同一人物なのでしょうか?
ここは VB2-VB6専用掲示板ですが…。
> TreeViewで子ノードをクリックした時に、
NodeClick イベントですね。
> その親ノードの
Node の Parent プロパティですね。
> Keyを取得する方法
Key プロパティですね。
魔界の仮面弁士様、再びお世話になっております。
すみません、隣のこあらと同一です。
VB6でやっておりますもので、こちらで良いのかと・・・場違いでしたか。
すみません!
ご回答いただきありがとうございます。
あぁ、基礎だったですね・・・
知識不足でした。
たて続きにお付き合いいただき、本当に感謝致します!
以後はもう少し、自力で粘ってみます。
> VB6でやっておりますもので、こちらで良いのかと・・・場違いでしたか。
いえいえ、ぜんぜん問題なしです。
「再び」という割には、急に掲示板を移動されていたので、元質問を
見つけられずに、ちょっと戸惑ってしまったという程度です。
場違いではないと思いますよ。
というか、大幅にこっちの勘違いも入っていました。失礼しました。
# こあらさんの、".NET/VB6兼用板"での「VB6 の TreeView の質問」を、
# 別の方の ".NET専用板"での「.NET の TreeView の質問」と混同…。
> あぁ、基礎だったですね・・・
親だけでなく、兄弟、長兄、子供を得るプロパティもあるので、
合わせてチェックしておいてくださいね。
> 急に掲示板を移動されていたので・・・
最初の掲示板を利用させていただいた後で、こちらの掲示板に気づきまして
実はこちらで質問すべきだったかと移動しておりました。
気づくの自体遅かったですね。
重ね重ね、お騒がせしております!
> 親だけでなく、兄弟、長兄、子供を得るプロパティもあるので、
> 合わせてチェックしておいてくださいね。
兄弟:children
長兄:FirstChild
子供:child
でしょうか。
TreeViewを使うのは初めてなのですが、家計図のようで面白いですね。
勉強になります。
ありがとうございました!
> でしょうか。
違いますよ。
> 兄弟:children
そもそも Children は Node を返しません。子供の数を返します。
自分の兄弟(同階層の前後のノード)を得るには、Next/Previousプロパティを
使います。
弟を持たないノード(同階層内の末尾ノード)なら、Next は Nothing を返します。
兄を持たないノード(同階層内の先頭ノード)なら、Previous は Nothing です。
> 長兄:FirstChild
FirstChild というプロパティは存在しません。
FirstSibling というプロパティならありますけれどね。(^^;
FirstSibling は "Sibling"(兄弟姉妹) の文字通り、同階層内の先頭ノード、
すなわち、長兄ノードを返します。自分が長兄なら、自分自身が返されます。
また、似たような名前の LastSibling というプロパティもあり、こちらは
末弟ノード(同階層内の末尾のノード)を返します。
> 子供:child
これは正しいですね。
(なお、Children が 0 を返す場合、Child プロパティは Nothing を返します)
Child は、具体的には子階層の先頭ノードを返すので、「長子」というイメージでしょうか。
ちなみに「次子」なら、.Child.Next となります。
「末子」を得たいのであれば、.Child.LastSibling です。
これらの他には、一族の最上位ノードを返す Root プロパティがあります。
最上位ノードには親が居ないので、.Root.Parent は常に Nothing です。
あと、これらのプロパティ(Child, Next 等)は、参照専用プロパティですが、
唯一、Parent プロパティだけは、参照だけでなく Set も可能となっており、
「Set node1.Parent = node2」とすると、node1 が node2 の末子になります。
ツイート | ![]() |