Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何自定义OpenFileDialog以选择多个文件夹和文件?_C#_Openfiledialog - Fatal编程技术网

C# 如何自定义OpenFileDialog以选择多个文件夹和文件?

C# 如何自定义OpenFileDialog以选择多个文件夹和文件?,c#,openfiledialog,C#,Openfiledialog,我已经发布了-,我找不到正确的答案。 所以,我改变了我的问题 我想自定义OpenFileDialog以选择多个文件夹和文件。我试图找到一个解决方案,并且可以看到一些关于它的帖子 从互联网上,我发现了以下项目- 然而,在使用它时,我面临一个问题。它使用MFC中的GetOpenFileName函数和OPENFILENAME结构。 OPENFILENAME的成员名为templateID。 它是对话框模板的标识符。示例项目中有res1.rc文件和模板对话框 但我不知道如何将此文件附加到我的C项目 或者有

我已经发布了-,我找不到正确的答案。 所以,我改变了我的问题

我想自定义OpenFileDialog以选择多个文件夹和文件。我试图找到一个解决方案,并且可以看到一些关于它的帖子

从互联网上,我发现了以下项目-

然而,在使用它时,我面临一个问题。它使用MFC中的GetOpenFileName函数和OPENFILENAME结构。 OPENFILENAME的成员名为templateID。 它是对话框模板的标识符。示例项目中有res1.rc文件和模板对话框

但我不知道如何将此文件附加到我的C项目


或者有没有其他完美的解决方案-如何自定义OpenFileDialog以选择多个文件夹和文件???

如果使用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);
}
对于需要使用随附的CommonOpenFileDialog的文件和文件夹,特定类为。

请尝试以下操作:

openFileDialog.Multiselect = true;

您可能无法获得那样的内置.Net控件。显然,OpenFileDialog不能同时用作文件和文件夹浏览器。您有两种选择,一种是使用第三方工具,比如您发现的第二种,让您自己控制。令人惊讶的是,您可能不会发现创建自己控件的非常简单的版本非常困难。

您需要将OpenFileDialog的Multiselect属性设置为true才能正常工作:您是否忘记了多个文件夹和文件?我也想选择文件夹。我认为您需要使用CommonOpenFileDialog,但它应该以同样的方式工作,我将更新我的答案简短CommonOpenFileDialog并不能真正解决这个问题,因为它允许选择多个文件夹或选择多个文件,但不能同时根据IsFolderPicker的属性来选择两者。但是,是否可以以对话框更灵活的方式设置属性,即允许用户同时选择文件和文件夹?我需要一些上传工具,我写的,用户应该能够选择任何他认为需要上传…你忘记了多个文件夹和文件吗?我也想选择文件夹。不幸的是,它对文件夹不起作用。如果“Multiselect”为true,则可以尝试选择多个文件夹,但单击“打开”时,它不会返回选定的文件夹,而是导航到选定的第一个文件夹,并在其中显示文件。使用过滤器测试所有文件|**谢谢。你有任何建议的第三方工具吗?我从来没有使用过…从来没有必要…但是看看这些链接。。要下载已退役的WindowsAPICodePack的源代码,其中包括一些答案中提到的CommonOpenFileDialog,请参阅。。。。在该下载中,CommonOpenFileDialog类位于Project Shell/CommonFileDialogs/CommonOpenFileDialog.cs中。注意:需要Windows Vista或更新版本。请参阅具有文件夹浏览器对话框实现的