• ベストアンサー

リストボックスにファイル名のみを表示するには?

いつもお世話になっています。 今、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

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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

whitemi
質問者

お礼

丁寧なご回答ありがとうございます。 このとおりにしたら動きました! 内容についてはあらためて勉強させていただきます。 今後ともよろしくお願いいたします。

その他の回答 (1)

noname#27115
noname#27115
回答No.1

とりあえず、動けばいいのであれば   Imports System   Imports System.IO      For i = 0 To files.Count - 1        files(i) = Path.GetFileName(files(i))      Next

whitemi
質問者

お礼

ありがとうございました。 とても参考になり、解決できました。 またお願いいたします。