【C#】「ファイルを選択」ダイアログでフォルダを選択する
C#で作るWindowsフォームアプリで、フォルダを選択することがあると思います。
標準のフォルダ選択クラスとして、FolderBrowserDialogが用意されていますが、フォルダパスの見通しが悪い上、パスのコピペができず、使い勝手が悪いです。
OpenFileDialogの画面でフォルダを選択可能なクラス「CommonOpenFileDialog」の使用方法を調べたので、手順をメモします。
使用するソリューションをVisual Studioで開く。
ソリューションエクスプローラーからソリューションかプロジェクトを右クリック→「NuGetパッケージの管理」を選択。
参照タブで、「windowsapicodepack」を検索。
「WindowsAPICodePack-Shell」をインストール。(複数ありますが、作成者:Aybeさんのものを選びました。)
追加したパッケージのusingをソースコードに入力。
using Microsoft.WindowsAPICodePack.Dialogs;
フォルダ選択画面を表示するコードを入力。
var dialog = new CommonOpenFileDialog("フォルダ選択"); // フォルダ選択モード dialog.IsFolderPicker = true; if (dialog.ShowDialog() == CommonFileDialogResult.Ok) { // フォルダ選択後の処理 }
以上の手順で、下画像のようなフォルダ選択画面を実現できます。