こちらの記事を参考にしています。 qiita.com
実現できるメソッド
void BrowseFolder()
{
using (var ofd = new OpenFileDialog() { FileName = "SelectFolder", Filter = "Folder|.", CheckFileExists = false })
{
if (ofd.ShowDialog() == DialogResult.OK)
{
Console.WriteLine(Path.GetDirectoryName(ofd.FileName));
}
}
}
(参考記事から引用)
FolderBrowserDialog
- 選択したフォルダのパスを取得
- パス直打ちが無い
- クイックアクセスが無い
- フォルダを開いたときのツリー構造が見づらい
というところがあります。また、ファイル選択をする場面が多いため、OpenFileDialogのほうがイメージされやすく、その使い勝手を要求されます。よって、OpenFileDialogでフォルダ選択できるのが便利だと思われます。上記のメソッドを使えば、OpenFileDialog でフォルダのパスを取得することができます。
なぜFolderBrowserDialogはOpenFileDialogに変更要求を受けるのか
これはよく使われているのがOpenFileDialogであり、こちらをよく見慣れて・使い慣れているからだと考えます。FolderBrowserDialogにも良いところはあるのに、メジャーになっている方を求められるということではないでしょうか。