- ベストアンサー
リストボックスにファイル名のみを表示するには?
いつもお世話になっています。 今、VisualStudio.NETのVB.NETを使用して勉強しているものです。 現在、特定のフォルダからその中に入っているファイルを リストボックスに表示させたいと思っています。 フルパスを表示させることはできたのですが、ファイル名のみの表示がうまくいきません。 どなたか教えていただけないでしょうか。 以下のようにコードを書いております。 一度、TextBox1にフォルダのパスをコピーする仕組みになっています。 GetFileName関数を使用すればいいのかもしれませんが、 うまく組み合わせることができません。 どうぞよろしくお願いいたします。 Private Sub GetAllFiles(ByVal folder As String, _ ByVal searchPattern As String, ByRef files As ArrayList) 'folderにあるファイルを取得する Dim fs As String() = _ System.IO.Directory.GetFiles(Me.TextBox1.Text, searchPattern) 'ArrayListに追加する files.AddRange(fs) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim subFolders As New ArrayList() Dim files As New ArrayList() 'TextBox1以下のファイルをすべて取得 GetAllFiles(Me.TextBox1.Text, "*.*", files) 'ListBox1に結果を表示する Me.ListBox1.Items.Clear() Me.ListBox1.Items.AddRange(files.ToArray()) End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
お世話になります。 これだけで十分かと思われます。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim fullPathes() As String = _ System.IO.Directory.GetFiles("C:\", "*.*") '*.* なら指定はいらないんでは? Me.ListBox1.Items.Clear() For Each fullPath As String In fullPathes Me.ListBox1.Items.Add(System.IO.Path.GetFileName(fullPath)) Next End Sub
その他の回答 (1)
とりあえず、動けばいいのであれば Imports System Imports System.IO For i = 0 To files.Count - 1 files(i) = Path.GetFileName(files(i)) Next
お礼
ありがとうございました。 とても参考になり、解決できました。 またお願いいたします。
お礼
丁寧なご回答ありがとうございます。 このとおりにしたら動きました! 内容についてはあらためて勉強させていただきます。 今後ともよろしくお願いいたします。