【C#】WPFでファイル/フォルダを選択するダイアログを表示する

前提

・nugetで「Microsoft-WindowsAPICodePack-Shell」をインストール済み
 ※ダウンロード数の多いものをインストールしておく

ファイルを選択するダイアログ

(省略)
using Microsoft.WindowsAPICodePack.Dialogs;
(省略)

private void Bottun1_Click(object sender, RoutedEventArgs e)
{
    // ダイアログのインスタンスを生成
    CommonOpenFileDialog dialog = new CommonOpenFileDialog()
    {
        Title ="ファイルを選択してください",
        DefaultFileName = "default.txt",
    };
    
    // ダイアログを表示する
    var ret = dialog.ShowDialog();
    if (ret == CommonFileDialogResult.Ok)
    {
        //選択されたファイル名をテキストボックスに設定する
        filePathTextBox.Text = dialog.FileName;
    }
}

フォルダを選択するダイアログ

「ファイルを選択するダイアログ」のプログラムに「IsFolderPicker = true」を追記する。

(省略)
using Microsoft.WindowsAPICodePack.Dialogs;
(省略)

private void Bottun1_Click(object sender, RoutedEventArgs e)
{
    // ダイアログのインスタンスを生成
    CommonOpenFileDialog dialog = new CommonOpenFileDialog()
    {
        Title = "フォルダを選択してください",
        IsFolderPicker = true  // フォルダ選択モードにする
    };

    // ダイアログを表示する
    var ret = dialog.ShowDialog();
    if (ret == CommonFileDialogResult.Ok)
    {
        //選択されたフォルダ名をテキストボックスに設定する
        filePathTextBox.Text = dialog.FileName;
    }
}

実行ボタン押下時等に実施する入力チェック

//nullチェック
if (String.IsNullOrEmpty(filePathTextBox.Text))
{
    MessageBox.Show("出力フォルダを選択してください。");
    return;
}
タイトルとURLをコピーしました