我有一个文件夹浏览器对话框(很简单)但我只希望它是“好的”#39;如果文件夹包含某个扩展名的文件。到目前为止我所拥有的:
FolderBrowserDialog pDlg = new FolderBrowserDialog();
if (pDlg.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
if (Directory.GetFiles(pDlg.SelectedPath, "*.ext").Length > 0)
{
SrcDir.Text = pDlg.SelectedPath;
}
else
{
DBox.Items.Insert(0, "Not a suitable folder");
}
}
如果所选文件夹不包含任何正确类型的文件(* .ext),则可以限制文本框SrcDir
的填充。如果我可以禁用' ok'如果GetFiles(..).Length == 0
,则在对话框中选择文件夹时按钮,因此无法选择不合适的文件夹;因为你不能看到' FolderBrowserDialog
中的文件很难让用户知道它是否是正确的文件夹,因此通过更改OK按钮的enabled
状态会向用户指示是否文件夹是合适的。
我可以使用OpenFileDialog浏览目录中的一个文件,然后使用FileInfo.DirectoryName提取其所在的文件夹,但我处于压力而不是这样做(其他人认为它很邋。)。
我很确定这不能用标准FolderBrowserDialog
来完成;是否有另一个内置的对话框类,我可以控制此行为,还是应该在自定义对话框窗体上创建一个带有DirectorySearcher
或类似TreeView和.ShowDialog()
的新表单?