エクスプローラのフォルダ一覧を作るには?


田中  2007-08-23 20:44:56  No: 143815

VB2005でフォームにエクスプローラの左に出るようなフォルダの一覧を表示させたいと思います。
TreeViewで作るしかないでしょうか?
アイコンを表示させなければ出来そうなのですが、できればアイコンも表示させたいと思います。
宜しくお願い致します。


KG  2007-08-23 21:58:34  No: 143816

ListViewとかでもできたような気はしますが。

まず理想はどうやりたいかを教えて頂ければ、少し具体的に回答できる
かもしれません。


田中  2007-08-23 22:18:43  No: 143817

ありがとうございます。

Vectorですが、
http://hp.vector.co.jp/authors/VA014830/FlexRena/

このような、左側にフォルダのツリーの一覧表示をさせて、右側にフォルダ内のファイルの情報を出したいと思います。
イメージではFolderBrowserDialogをフォームに埋め込めたらいいな、という感じです。
宜しくお願い致します。


Blue  2007-08-23 23:15:04  No: 143818

http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard25.htm
を参考にしてみては?


田中  2007-08-23 23:59:30  No: 143819

ありがとうございます。

はじめはそちらの見ながら作っていました。
ただアイコンが指定したものしか使えなかったので、他の方法があるのではないかと思いました。

でも皆さんのおかげで出来そうな気がしてきました。
特殊フォルダのときにアイコン変更してやろうとも思ったのですが、ファイルに関連付けられているアイコンが取得できるようなので、それを使ってみたいと思います。
http://www.atmarkit.co.jp/fdotnet/dotnettips/432extracticon/extracticon.html


田中  2007-08-24 19:50:55  No: 143820

デスクトップをルートノードにしたいのですが、うまくいきません。

'ノード追加
        Dim DriveNode As TreeNode
        DriveNode = New TreeNode("デスクトップ")
        TreeView1.Nodes.Add(System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop))

'TreeViewのAfterSelectイベント
            Dim Folder As IO.DirectoryInfo
            Dim oFolder As New IO.DirectoryInfo(e.Node.FullPath)

            For Each Folder In oFolder.GetDirectories
                e.Node.Nodes.Add(Folder.Name)
            Next

子ノードが出来ないのと、ルートノードがフルパスになってしまいます。
宜しくお願い致します。


クック  2007-08-26 01:06:48  No: 143821

> 子ノードが出来ないのと
再帰処理について調べてみてください。

> ルートノードがフルパス
何か問題が??


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加