【问题标题】:Select both files and folders using OpenFileDialog使用 OpenFileDialog 选择文件和文件夹
【发布时间】:2013-09-21 09:57:05
【问题描述】:

我已经研究了很多以找到适合这个问题的答案,但我失败了。

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

我希望 OpenFileDialog 为我选择文件/文件并允许我选择文件夹。例如。一种。多个文件或多个文件夹(-最先) 湾。文件和文件夹的组合(-less Prior)

我在这里想出了我们类似的问题(所以请不要将其标记为重复)

Question 1 [回复链接失效]

Question 2 [问题并不完全是在问我的要求是什么。]

请指导我完成一些解决方案。我是新手和学习者。

任何帮助或指示都会非常有帮助。

谢谢。

【问题讨论】:

  • 如果用户双击一个文件夹会怎样?通常,如果我们可以选择文件夹,该文件夹将被添加到所选列表中,但不应打开该文件夹。虽然我们想要的行为是打开文件夹。
  • 对此没有内置解决方案。据我所知,您唯一的选择是设计自己的解决方案。您可以尝试扩展OpenFileDialogFolderBrowserDialog,但不确定这是否能正常工作。从CommonDialog 扩展你可能会更好。
  • @awudoin: OpenFileDialogFolderBrowserDialog 类不能按照 MSDN (doc1 & doc2) 被继承。事实上,从CommonDialog 退出是我最后的选择。谢谢:)

标签: c# file directory openfiledialog


【解决方案1】:

您可以创建选择器“文件或目录”并根据用户选择打开标准OpenFileDialogFolderBrowserDialog。或者您可以创建(或查找)您的自定义文件管理器,其中包含一起选择文件夹和文件的选项。

【讨论】:

  • 我已经在使用这样的解决方案,但我想减少用户点击并在 OpenFileDialog 上提供一些功能。不过感谢您的回复。 :)
【解决方案2】:

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

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

docs 中提到了选择文件夹

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

【讨论】:

  • 并没有解决 OP 的问题,他想将所有选定的 folders and filenames 放入 FileNames 或以某种方式允许用户同时选择 folders and files OpenFileDialog。这个答案中提到的所有事情似乎被 OP 知道,他只是想找到一些 hack 让它按照他想要的方式工作。
  • @KingKing 嗯..是的,没有黑客可以做到这一点..唯一的解决方法是开发或查找 1
【解决方案3】:

OpenFileDialog 不能选择文件夹,FolderBrowserDialog 不能选择文件。但是有一个 .net 的开源控件,它允许您选择文件和文件夹,您可以在这里查看:OpenFileOrFolderDialog

【讨论】:

    【解决方案4】:
    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
    

    相当老套。

    Source

    【讨论】:

      猜你喜欢
      • 2012-07-22
      • 1970-01-01
      • 2012-07-22
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      相关资源
      最近更新 更多