- 締切済み
VB2005 TreeViewの選択されてノード表示
最近VB2005を使い始め苦戦しています。 ГA:\ |-C:\ | |-AAA | LBBB | |-xxx | |-yyy | Lzzz LD:\ VB2005 TreeViewを使用し、上記の階層の"zzz"をクリックした際、以下の事がしたく投稿しました。 Q1: テキストボックスへ一発で"zzz"を表示したいのですが、一度クリックをし"+"を表示後クリックしないと表示されません。 Q2: SelectedNode.Textで得たカレントフォルダ名から絶対パスを取得したいのですが可能ですか?。 解決策をご存知の方よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- tom11
- ベストアンサー率53% (134/251)
追伸 質問の内容をコード化すると以下のようになりますが。 Dim a As New TreeNode("a:") Dim c As New TreeNode("c:") Dim d As New TreeNode("d:") Dim aaa As New TreeNode("aaa:") Dim bbb As New TreeNode("bbb:") Dim xxx As New TreeNode("xxx:") Dim yyy As New TreeNode("yyy:") Dim zzz As New TreeNode("xxx:") TreeView1.Nodes.Add(a) TreeView1.Nodes.Add(c) TreeView1.Nodes.Add(d) c.Nodes.Add(aaa) c.Nodes.Add(bbb) bbb.Nodes.Add(xxx) bbb.Nodes.Add(yyy) bbb.Nodes.Add(zzz) TreeView1.ExpandAll() 以上の結果、 ツリービューには画像の様に最初から展開されて 表示されます。
- tom11
- ベストアンサー率53% (134/251)
こんにちは、 For Each Drive As String In IO.Directory.GetLogicalDrives TreeView1.Nodes.Add(Drive) Next これでは、ツリー構造になっていないので、 展開したくても、展開するものが ないと思いますが。 質問者が、質問に書いた構造のツリーがあって +をクリックすると展開する代わりに 最初から、TreeView1.ExpandAll() にすると、単に、最初から、展開されて表示されるだけです。
- tom11
- ベストアンサー率53% (134/251)
こんにちは、 Q1 全部展開させる以下のメソッドでは、駄目ですか?? TreeView1.ExpandAll() Q2 フルパスを出したいなら、以下のコードでは、駄目ですか? TreeView1.SelectedNode.FullPath.ToString()
お礼
こんにちは。 Q2はできました。 Q1はうまくできませんでした。 ちなみにこんな感じで試してみました。 -------------------------------------------------------------- Private Sub Form1_Load() For Each Drive As String In IO.Directory.GetLogicalDrives TreeView1.Nodes.Add(Drive) TreeView1.ExpandAll() Next End sub -------------------------------------------------------------- ご指摘、解決策があればご教授願います。
お礼
こんばんわ。 回答して頂いた内容だと確かに展開できました。 やりたいことと質問の内容が一致していませんでした。 お手数をおかけし申し訳ありませんでした。