読者です 読者をやめる 読者になる 読者になる

【C#】フォルダを選択するダイアログ

C#でフォルダを選択するプログラムのコードを検索していたら,以下のものを見つけました.

var Dlg = new FolderBrowserDialog();
// 説明文追加
Dlg.Description = "選択";
// 表示して結果がOKなら
if(Dlg.ShowDialog() == DialogResult.OK){
	// ここでいろいろする
}

まあこれでやりたいことはできるのですが,見た目がどうにも気に入らないんです.
こうじゃなくて,こう,何ていうの,アレ,アレだよ,アレ!
ファイル選択ダイアログみたいな感じがいいの!
と思ったので探してみたところ,ありました.以下に方法を記します.

1.まずNuGetで「WindowsAPICodePack」を探して導入します."Core"と"Shell"両方です.
2.次にそれらを参照に追加してから,以下のコードを記入します.

// using Microsoft.WindowsAPICodePack.Dialogsを追加してから
// ------------------------------
var Dialog = new CommonOpenFileDialog();
// フォルダーを開く設定に
Dialog.IsFolderPicker = true;
// 読み取り専用フォルダ/コントロールパネルは開かない
Dialog.EnsureReadOnly = false;
Dialog.AllowNonFileSystemItems = false;
// パス指定
Dialog.DefaultDirectory = Application.StartupPath;
// 開く
var Result = Dialog.ShowDialog();
// もし開かれているなら
if(Result == CommonFileDialogResult.Ok){
	// ここでいろいろする(開いたフォルダはDialog.FileNameで取得)
}

こんな感じになります.

広告を非表示にする