Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.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#_File_Directory_Openfiledialog - Fatal编程技术网

C# 使用OpenFileDialog选择文件和文件夹

C# 使用OpenFileDialog选择文件和文件夹,c#,file,directory,openfiledialog,C#,File,Directory,Openfiledialog,为了找到这个问题的合适答案,我做了很多研究,但我失败了 我可以在这里和其他论坛上看到多个问题,但没有明确的答案可以带来明确的解决方案 我希望OpenFileDialog为我选择文件,并允许我选择文件夹。a。多个文件或多个文件夹(-最早) B文件和文件夹的组合(-less previor) 我在这里计算了我们的类似问题(因此请不要将其标记为重复) [答案链接已断开] [问题不完全是问我的要求是什么。] 请给我一些解决办法。我是一个新手和学习者 任何帮助或指点都会非常有用 谢谢。您可以创建selct

为了找到这个问题的合适答案,我做了很多研究,但我失败了

我可以在这里和其他论坛上看到多个问题,但没有明确的答案可以带来明确的解决方案

我希望OpenFileDialog为我选择文件,并允许我选择文件夹。a。多个文件或多个文件夹(-最早) B文件和文件夹的组合(-less previor)

我在这里计算了我们的类似问题(因此请不要将其标记为重复)

[答案链接已断开]

[问题不完全是问我的要求是什么。]

请给我一些解决办法。我是一个新手和学习者

任何帮助或指点都会非常有用


谢谢。

您可以创建selctor“文件或目录”,并根据用户选择打开standart
OpenFileDialog
FolderBrowserDialog
。或者,您可以创建(或查找)您的自定义文件管理器,其中包含用于同时选择文件夹和文件的选项。

OpenFileDialog
用于打开文件而不是文件夹

要允许选择多个文件,请将属性设置为
true

选择文件夹时,在

如果要让用户能够选择文件夹而不是文件,请使用


您不能使用
OpenFileDialog
选择文件夹,也不能使用
FolderBrowserDialog
选择文件。但是有一个针对.net的开源控件,允许您选择文件和文件夹,您可以在此处进行检查:

相当老套


令人困惑的是,如果用户双击一个文件夹怎么办?通常,如果我们可以选择该文件夹,该文件夹将被添加到所选列表中,但不应打开该文件夹。而我们想要的行为是打开文件夹。没有内置的解决方案。据我所知,您唯一的选择是设计自己的解决方案。您可以尝试扩展
OpenFileDialog
FolderBrowserDialog
,但不确定这是否有效。您最好从
CommonDialog
@awudoin扩展:
OpenFileDialog
FolderBrowserDialog
类不能按照MSDN(&)继承。事实上,从
CommonDialog
退出也是我最后一个选择。谢谢:)这并不能解决OP的问题,他希望将所有选定的
文件夹和文件名
放入
文件名
,或者通过某种方式允许用户在
打开文件对话框
中同时选择
文件夹和文件。这个答案中提到的所有事情似乎都被OP知道了,他只是想找到一些黑客来让它按他想要的方式工作。@KingKing嗯……是的,没有黑客来做。唯一的解决办法是开发或发现1我已经在使用这样的解决方案,但我想减少用户点击,并在OpenFileDialog上提供一些功能。谢谢你的回复。:)
var dialog = new OpenFileDialog();
dialog.ValidateNames = false;
dialog.CheckFileExists = false;
dialog.CheckPathExists = true;
dialog.FileName = "Must set default";
dialog.ShowDialog() // will allow both files and folders to be selected