无法在 OpenFileDialog 中过滤 pdf 和 txt 文件
Cannot filter pdfs and txt files in OpenFileDialog
我一直在使用这个过滤器来过滤 pdf 和其他文件。
ChooseDocumnetOfd.Filter = "Pdf files (*.pdf)|*.pdf |Office Files|*.doc;*.xls;*.ppt |Txt files (*.txt); *.txt | ";
长期以来一直运行良好。但是,我现在只能过滤Word文件。
为什么我现在不能过滤任何其他类型的文件?
这不是有效的过滤字符串;您在 Txt 文件条目后缺少管道符号,并且末尾有一个无关的管道。它应该是这样的:
ChooseDocumnetOfd.Filter = "Pdf files (*.pdf)|*.pdf|Office Files|*.doc;*.xls;*.ppt|Txt files (*.txt)|*.txt";
我会写:
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...
多个扩展名以分号分隔。说明可以包含任何文本,不必包含扩展名列表
我一直在使用这个过滤器来过滤 pdf 和其他文件。
ChooseDocumnetOfd.Filter = "Pdf files (*.pdf)|*.pdf |Office Files|*.doc;*.xls;*.ppt |Txt files (*.txt); *.txt | ";
长期以来一直运行良好。但是,我现在只能过滤Word文件。 为什么我现在不能过滤任何其他类型的文件?
这不是有效的过滤字符串;您在 Txt 文件条目后缺少管道符号,并且末尾有一个无关的管道。它应该是这样的:
ChooseDocumnetOfd.Filter = "Pdf files (*.pdf)|*.pdf|Office Files|*.doc;*.xls;*.ppt|Txt files (*.txt)|*.txt";
我会写:
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...
多个扩展名以分号分隔。说明可以包含任何文本,不必包含扩展名列表