これは何回も使った事あります。はい。
でも、いつも既定の値を忘れてしまいますのでメモっときます。
私が使う時は何故か大体いっつもこんな感じで、フォルダ指定→配下を一覧表示するのばっかりだったのですが、
(その後に、グリッドやらリストボックスやらをダブルクリックしたりして何かするとかお決まりのパターン)
一回だけフォルダ指定→配下の XML ファイルをぜーんぶ読み込むってのがありました。
まぁ、おんなじですよね。GetFiles して For Each して、読み込めばよい。
余談なんですけども、"FolderBrowserDialog クラス" で Google(日本語のページ)検索すると、msdn よりも先に
どぼん!さんのページ が出るんですよねー。すごい。
■参考文献
FolderBrowserDialog コンポーネント (Windows フォーム)
FolderBrowserDialog クラス
■実行画像
起動したところ

ShowDialog したところ

選択されたフォルダ配下の一覧表示

Public Class FolderBrowserDialogTest
Private Enum ColumnNames
種類
ファイル名
作成日時
更新日時
End Enum
Private Sub FolderBrowserDialogTest_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With Me.FolderBrowserDialog1
' 既定値に戻す
.Reset()
.Description = "ダイアログの上部分に出る説明" ' (既定:"")
' 頭のフォルダ System.Environment.SpecialFolder 列挙体をセットする(既定:Desktop)
.RootFolder = System.Environment.SpecialFolder.Desktop
' 選択されているフォルダを指定する場合にセット。こっちは文字列。(既定:"")
.SelectedPath = System.IO.Path.Combine( _
System.Environment.GetFolderPath(System.Environment.SpecialFolder.Desktop), _
"なおこ")
' 新しいフォルダボタンを表示するか否か(既定:True)
.ShowNewFolderButton = True
End With
With Me.TextBox1
.Text = ""
.ReadOnly = True
.BackColor = System.Drawing.SystemColors.Control
End With
With Me.DataGridView1
.ReadOnly = True
.AllowUserToAddRows = False
With .Columns
.Clear()
.Add(ColumnNames.種類.ToString(), ColumnNames.種類.ToString())
.Add(ColumnNames.ファイル名.ToString(), ColumnNames.ファイル名.ToString())
.Add(ColumnNames.作成日時.ToString(), ColumnNames.作成日時.ToString())
.Add(ColumnNames.更新日時.ToString(), ColumnNames.更新日時.ToString())
End With
With .Rows
.Clear()
End With
End With
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If System.Windows.Forms.DialogResult.OK = _
Me.FolderBrowserDialog1.ShowDialog(Me) Then
Dim selectedPath As String = Me.FolderBrowserDialog1.SelectedPath
Me.TextBox1.Text = selectedPath
Me.DataGridView1.Rows.Clear()
Dim dirs As String() = System.IO.Directory.GetDirectories(selectedPath)
'My だとこんな感じ
'Dim dirs As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = _
'My.Computer.FileSystem.GetDirectories(selectedPath)
For Each dirPath As String In dirs
Dim dirInfo As System.IO.DirectoryInfo = _
New System.IO.DirectoryInfo(dirPath)
Me.DataGridView1.Rows.Add( _
"dir", _
dirInfo.Name, _
dirInfo.CreationTime.ToString("yyyy/MM/dd HH:mm:ss"), _
dirInfo.LastWriteTime.ToString("yyyy/MM/dd HH:mm:ss"))
Next
Dim files As String() = System.IO.Directory.GetFiles(selectedPath)
'My だとこんな感じ
'Dim files As System.Collections.ObjectModel.ReadOnlyCollection(Of String) = _
'My.Computer.FileSystem.GetFiles(selectedPath)
For Each filePath As String In files
Dim fileInfo As System.IO.FileInfo = _
New System.IO.FileInfo(filePath)
Me.DataGridView1.Rows.Add( _
"file" & Convert.ToString(IIf(fileInfo.IsReadOnly, "(読専)", "")), _
fileInfo.Name, _
fileInfo.CreationTime.ToString("yyyy/MM/dd HH:mm:ss"), _
fileInfo.LastWriteTime.ToString("yyyy/MM/dd HH:mm:ss"))
Next
End If
' DataGridView 列幅の自動調整
Me.DataGridView1.AutoResizeColumns(System.Windows.Forms.DataGridViewAutoSizeColumnsMode.AllCells)
End Sub
End Class