私は次のプロジェクトを使用するつもりでした:https://github.com/scottwis/OpenFileOrFolderDialog
ただし、問題があります。GetOpenFileName
関数とOPENFILENAME
構造体が使用されています。には、ダイアログ テンプレートの識別子である というOPENFILENAME
名前のメンバーがあります。また、プロジェクトには、ファイルとテンプレート化されたダイアログ init も含まれています。しかし、このファイルを C# プロジェクトに添付する方法がわかりませんでした。templateID
res1.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