主婦と.NETと犬のぶろぐ

奥様 と プログラム と お犬様 の 楽しい日常

目次

Blog 利用状況

ニュース

書庫

日記カテゴリ

FolderBrowserDialog(System.Windows.Forms.FolderBrowserDialog)

これは何回も使った事あります。はい。
でも、いつも既定の値を忘れてしまいますのでメモっときます。

私が使う時は何故か大体いっつもこんな感じで、フォルダ指定→配下を一覧表示するのばっかりだったのですが、
(その後に、グリッドやらリストボックスやらをダブルクリックしたりして何かするとかお決まりのパターン)
一回だけフォルダ指定→配下の XML ファイルをぜーんぶ読み込むってのがありました。
まぁ、おんなじですよね。GetFiles して For Each して、読み込めばよい。

余談なんですけども、"FolderBrowserDialog クラス" で Google(日本語のページ)検索すると、msdn よりも先に どぼん!さんのページ が出るんですよねー。すごい。

■参考文献
FolderBrowserDialog コンポーネント (Windows フォーム)
FolderBrowserDialog クラス

■実行画像
起動したところ
FolderBrowserDialog 起動したところ
ShowDialog したところ
FolderBrowserDialog ShowDialog
選択されたフォルダ配下の一覧表示
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

投稿日時 : 2007年1月19日 12:52

Feedback

# re: FolderBrowserDialog(System.Windows.Forms.FolderBrowserDialog) 2007/01/19 15:55 えムナウ

IDataGridViewEditingControl とか
DataGridViewColumn とか
MSDNに勝っているのにびっくりしました。

# re: FolderBrowserDialog(System.Windows.Forms.FolderBrowserDialog) 2007/10/03 13:20 あきこ

こんにちは!
ePowderにお邪魔しております、あきこです。
先日、テスト用のWindowsフォームを作る必要があり、ファイルのアップロード用のダイアログはどうやって表示すればいいのか検索したところ...。

なおこさんのところにたどりつきました。
上記の内容をキーに、OpenFileDialogを使えば良いということが分り、なんとかなりました。

どうもありがとうございました!

# re: FolderBrowserDialog(System.Windows.Forms.FolderBrowserDialog) 2007/10/03 21:24 なおこ(・∀・)

>> あきこさん
お役に立てたようで何よりです。

しかし...
自分でもどんなエントリだったのかさえ忘れていましたw

タイトル  
名前  
Url
コメント