fromのFolderBrowserDialog
クラスSystem.Windows.Forms
は、ユーザーがフォルダーを選択できるダイアログを表示するための推奨される方法です。
最近まで、このダイアログの外観と動作は他のファイルシステムダイアログと一致していませんでした。これが、人々がこのダイアログを使用することを躊躇した理由の1つです。
幸いなことに、これはFolderBrowserDialog
NET Core 3.0で「最新化」されたため、そのバージョン以降を対象とするWindowsフォームまたはWPFアプリを作成するユーザーにとって実行可能なオプションになりました。
.NET Core 3.0では、Windowsフォームユーザー[原文のまま] WindowsVistaで導入された新しいCOMベースのコントロール:

NET Core WPFアプリで参照System.Windows.Forms
するには、プロジェクトファイルを編集し、次の行を追加する必要があります。
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>
これは、既存の要素の直後に配置できます。
次に、ダイアログを使用する場合です。
using System;
using System.Windows.Forms;
...
using var dialog = new FolderBrowserDialog
{
Description = "Time to select a folder",
UseDescriptionForTitle = true,
SelectedPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
+ Path.DirectorySeparatorChar,
ShowNewFolderButton = true
};
if (dialog.ShowDialog() == DialogResult.OK)
{
...
}
FolderBrowserDialog
「ブラウジングを開始するルートフォルダを設定する」と思われるRootFolder
プロパティがありますが、これを設定しても違いはありません。この目的に使用するのに適したプロパティのようですが、末尾のバックスラッシュが必要です。SelectedPath
また、ShowNewFolderButton
プロパティも無視されているようで、ボタンは常に表示されます。