1. ホーム
  2. c#

[解決済み] OpenFileDialogを使用してフォルダを選択するには?

2022-03-24 01:55:54

質問

使用方法 OpenFileDialog を使用してフォルダを選択できますか?

以下のような企画を使おうと思っていました。 https://github.com/scottwis/OpenFileOrFolderDialog

しかし、1つの問題に直面しました。それは GetOpenFileName 関数と OPENFILENAME の構造を持つ。また OPENFILENAME という名前のメンバがあります。 templateID . これは、ダイアログテンプレートの識別子です。そして、このプロジェクトには res1.rc ファイル、およびテンプレート化されたダイアログのinitもあります。しかし、このファイルを私のC#プロジェクトに添付する方法がわかりませんでした。

を使用する良い方法はありますか? OpenFileDialog を使用してフォルダーを選択することはできますか?

解決方法は?

基本的には FolderBrowserDialog クラスがあります。

フォルダを選択するようユーザーに促します。このクラスは継承できません。

using(var fbd = new FolderBrowserDialog())
{
    DialogResult result = fbd.ShowDialog();

    if (result == DialogResult.OK && !string.IsNullOrWhiteSpace(fbd.SelectedPath))
    {
        string[] files = Directory.GetFiles(fbd.SelectedPath);

        System.Windows.Forms.MessageBox.Show("Files found: " + files.Length.ToString(), "Message");
    }
}

で働くなら WPF への参照を追加する必要があります。 System.Windows.Forms .

を追加する必要があります。 using System.IO に対して Directory クラス