dポイントプレゼントキャンペーン実施中!

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

A 回答 (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
    • good
    • 1
この回答へのお礼

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

お礼日時:2006/04/28 11:45

とりあえず、動けばいいのであれば



  Imports System
  Imports System.IO

     For i = 0 To files.Count - 1
       files(i) = Path.GetFileName(files(i))
     Next
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/04/28 11:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています