我已发布 - How to use OpenFileDialog to select a folder?,我找不到正确答案。 所以,我改变了我的问题。
我想自定义OpenFileDialog以选择多个文件夹和文件。我试图找到一个解决方案,可以看到一些关于它的帖子。
在互联网上,我找到了以下项目 - https://github.com/scottwis/OpenFileOrFolderDialog。
然而,在使用它时,我遇到了一个问题。它使用MFC中的 GetOpenFileName 函数和 OPENFILENAME 结构。 OPENFILENAME 的成员名为“ templateID ”。 它是对话框模板的标识符。示例项目具有“ res1.rc ”文件,并且还包含模板化对话框。
但我不知道如何将此文件附加到我的C#项目?
还是有其他完美的解决方案 - “如何自定义OpenFileDialog来选择多个文件夹和文件?”?
答案 0 :(得分:11)
如果使用FileNames属性而不是FileName属性,则会获得每个文件的字符串数组,您可以使用shift键选择多个文件。像这样:
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog x = new OpenFileDialog();
x.Multiselect = true;
x.ShowDialog();
string[] result = x.FileNames;
foreach (string y in result)
MessageBox.Show(y, "Selected Item", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
答案 1 :(得分:1)
试试这个:
openFileDialog.Multiselect = true;
答案 2 :(得分:1)
你可能没有这样的内置.Net控件。当然,OpenFileDialog不能同时作为文件和文件夹浏览器。你有两个选择去第三方工具,比如你发现的第二方工具可以自己控制。令人惊讶的是,您可能不会发现创建一个非常简单的自己控件版本非常困难。