DOBON.NET DOBON.NETプログラミング掲示板過去ログ

「フォルダ以下のファイルをすべて取得する」Tipsクリアしたい

環境/言語:[VB.NET F1.1 Win2000]
分類:[.NET]

Tipsに掲載されている、ファイル・フォルダの分類で、「あるフォルダ以下にあるファイルをすべて取得する」のサンプルで教えて下さい。
(http://dobon.net/vb/dotnet/file/getfiles.html)
以下のTipsでボタンで繰り返し実行すると、リストボックスのリストが追加されてしまいます。毎回クリアされて新しいリストのみ表示できるようにしたいのです。
色々ネットで調べたのですが、「files.Clear()」を「GetallFile()」の前に設置してもクリアされませんでした。
どなたか、ご教示をお願いします。

'Tips
'▼GetAllFiles
''' <summary>
''' 指定されたフォルダ以下にあるすべてのファイルを取得する
''' </summary>
''' <param name="folder">ファイルを検索するフォルダ名。</param>
''' <param name="searchPattern">ファイル名検索文字列
''' ワイルドカード指定子(*, ?)を使用する。</param>
''' <param name="files">見つかったファイル名のリスト</param>
Private Sub GetAllFiles(ByVal folder As String, _
ByVal searchPattern As String, ByRef files As ArrayList)
'folderにあるファイルを取得する
Dim fs As String() = _
System.IO.Directory.GetFiles(folder, searchPattern)
'ArrayListに追加する
files.AddRange(fs)

'folderのサブフォルダを取得する
Dim ds As String() = System.IO.Directory.GetDirectories(folder)
'サブフォルダにあるファイルも調べる
Dim d As String
For Each d In ds
GetAllFiles(d, searchPattern, files)
Next d
End Sub
'▲ここまで
'▼何かのイベントで開始
Dim subFolders As New ArrayList
Dim files As New ArrayList
'"C:\My Documents"以下のファイルをすべて取得
GetAllFiles("C:\My Documents", "*.*", files)
'ListBox1に結果を表示する
ListBox1.Items.AddRange(files.ToArray())
'▲ここまで
> 以下のTipsでボタンで繰り返し実行すると、リストボックスのリストが
> 追加されてしまいます。毎回クリアされて新しいリストのみ表示できる
> ようにしたいのです。

リストボックスのリストをクリアしたいのであれば、

ListBox1.Items.Clear()

GetAllFiles("C:\My Documents", "*.*", files)

の前にもってくればいいのではないでしょうか。
CSamuraさん、レスありがとうございます。

そうですね、ListBoxもクリアが必要なんですね。

ListBox1.Items.Clear()
files.Clear()
GetAllFiles("C:\My Documents", "*.*", files)

としましたら、追加されずに毎回新規の表示ができました。
解決です。
また、宜しくお願いします。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板