OpenFileDialog を使用してフォルダーを選択するにはどうすればよいですか? 質問する

OpenFileDialog を使用してフォルダーを選択するにはどうすればよいですか? 質問する

私は次のプロジェクトを使用するつもりでした:https://github.com/scottwis/OpenFileOrFolderDialog

ただし、問題があります。GetOpenFileName関数とOPENFILENAME構造体が使用されています。には、ダイアログ テンプレートの識別子である というOPENFILENAME名前のメンバーがあります。また、プロジェクトには、ファイルとテンプレート化されたダイアログ init も含まれています。しかし、このファイルを C# プロジェクトに添付する方法がわかりませんでした。templateIDres1.rc

フォルダーを選択するためのより良い方法はありますかOpenFileDialog?

ベストアンサー1

基本的に必要なのは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

おすすめ記事