【问题标题】:Cannot filter pdfs and txt files in OpenFileDialog无法在 OpenFileDialog 中过滤 pdf 和 txt 文件
【发布时间】:2019-02-26 04:21:10
【问题描述】:

我一直在使用这个过滤器来过滤 pdf 和其他文件。

 ChooseDocumnetOfd.Filter = "Pdf files (*.pdf)|*.pdf |Office Files|*.doc;*.xls;*.ppt |Txt files (*.txt); *.txt | ";

它已经运行了很长时间。但是,我现在只能过滤 Word 文件。 为什么我现在不能过滤任何其他类型的文件?

【问题讨论】:

  • 我从未更改过代码。但它现在不起作用
  • 如果您在提问之前先阅读文档,您将始终了解更多信息(他们几乎每种语言都有)docs.microsoft.com/en-us/dotnet/api/…

标签: c# winforms filter windows-10 openfiledialog


【解决方案1】:

这不是一个有效的过滤字符串;您在 Txt 文件条目后缺少一个管道符号,并且末尾有一个无关的管道。它应该是这样的:

ChooseDocumnetOfd.Filter = "Pdf files (*.pdf)|*.pdf|Office Files|*.doc;*.xls;*.ppt|Txt files (*.txt)|*.txt";

【讨论】:

    【解决方案2】:

    我会写:

     ChooseDocumnetOfd.Filter = "Pdf files (*.pdf)|*.pdf|Office files (*doc, *.xls, *.ppt)|*.doc;*.xls;*.ppt|Text files (*.txt)|*.txt";
    

    我不知道为什么它以前工作过;您的问题不符合文档中规定的规则 (https://docs.microsoft.com/en-us/dotnet/api/system.windows.forms.filedialog.filter?view=netframework-4.7.2)

    基本规则是:

    description1|extensionlist1|description2|extensionlist2...
    

    以分号分隔的多个扩展名。描述可以包含任何文本,不必包含扩展列表

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-20
      • 1970-01-01
      • 2017-02-11
      • 1970-01-01
      相关资源
      最近更新 更多