C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

TreeViewのフルパスを取得するには


(過去ログ 4 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■3882 / inTopicNo.1)  TreeViewのフルパスを取得するには
  
□投稿者/ korokoro 二等兵(1回)-(2006/05/25(Thu) 08:22:23)

分類:[VB.NET] 


分類:[VB.NET] 

VB.Netの環境にて開発しています。

現状,次のようなことに行き詰まっており,検索しましたが,
見つけることができなかったので,質問します。
何卒,よろしくお願い致します。

TreeViewコントロールにおいて

〜行いたいこと〜
・選択したノードの色を変更する。
・他ノードを選択した場合,その前に選択していたノードの色は,元に戻す。

〜解決方法〜
・色を変更する時点で,フルパスを取得。
・他ノードを選択した場合,取得していたフルパスに従い,対象ノードの色を戻す。

〜問題〜
TreeView1.SelectedNode.FullPathにてフルパスを取得していますが,
ノードのテキスト名のフルパスになっています。
この場合,
node1-nodex
-nodey
-nodez
-nodey
となった場合,node1\nodeyに相当するノードが2つ存在してしまい,うまくとれないと思っています。(traceを掛けた場合,特にインディックスはふっていなかったです。)
FullPath関数のほかに,なにか,正規のフルパスを取得する関数があるのでしょうか?

 また,フルパスから,指定したノードを検索する場合に,再帰関数を使用してトップからノードを検索しているのですが,フルパスを指定して一発でノードを取得するメソッドなどはご存知ないでしょうか?

よろしくお願い致します。



0
引用返信 編集キー/
■3883 / inTopicNo.2)  Re[1]: TreeViewのフルパスを取得するには
□投稿者/ 中博俊 神(456回)-(2006/05/25(Thu) 08:42:02)
中博俊 さんの Web サイト

分類:[VB.NET] 

そういう場合TreeViewItemそのものを保持すればいいだけじゃないの?


0
引用返信 編集キー/
■3884 / inTopicNo.3)  Re[1]: TreeViewのフルパスを取得するには
□投稿者/ Hongliang 一等兵(39回)-(2006/05/25(Thu) 08:49:15)
Hongliang さんの Web サイト

分類:[VB.NET] 

お考えの通り、ツリーのパスは同じパスが発生し得ます。ですので、ノードの特定にパスを使うのは巧いやり方ではありません。
一番良いのは、前回選んだノードを、パスではなく TreeNode そのものとして保持することです。そうすれば悩む必要はなくなります。
何らかの事情で TreeNode そのものは使えないというのなら、ルートからのノードのインデックスを並べる手もあります。

0
引用返信 編集キー/
■3886 / inTopicNo.4)  Re[2]: TreeViewのフルパスを取得するには
□投稿者/ 中博俊 神(457回)-(2006/05/25(Thu) 10:28:54)
中博俊 さんの Web サイト

分類:[VB.NET] 

TreeViewItemじゃなくって、TreeNodeでしたっけ orz


# Hongliang さんには是非わんくま同盟で活躍してもらって、私のウソ情報を突っ込んでほしい限りです(^^

0
引用返信 編集キー/
■3892 / inTopicNo.5)  できました!!TreeViewのフルパスを取得するには
□投稿者/ korokoro 二等兵(2回)-(2006/05/25(Thu) 12:20:24)

分類:[VB.NET] 

簡単にできました。

言い訳になりますが,fullpathばかり頭に取られて,
全く,気づきませんでした。

ありがとうございました。

ちなみに正解はTreeNodeです。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -