C#Don';t在OpenFileDialog中显示过滤器扩展

C#Don';t在OpenFileDialog中显示过滤器扩展,c#,openfiledialog,C#,Openfiledialog,我在OpenFileDialog的Filter属性中有多个扩展名。是否可以隐藏扩展名并仅显示说明 样本: dialog.Filter = "Image files|*.bmp;*.jpg; many image file extensions here" 我只想在文件类型组合框中显示文本:“图像文件”,因为扩展字符串很长。这可能吗?它应该完全按照您在问题中所写的那样工作: dialog.Filter = "Image files|*.bmp;*.jpeg;*.jpg;*.png;*.gif"

我在OpenFileDialog的Filter属性中有多个扩展名。是否可以隐藏扩展名并仅显示说明

样本:

dialog.Filter = "Image files|*.bmp;*.jpg; many image file extensions here"

我只想在文件类型组合框中显示文本:“图像文件”,因为扩展字符串很长。这可能吗?

它应该完全按照您在问题中所写的那样工作:

dialog.Filter = "Image files|*.bmp;*.jpeg;*.jpg;*.png;*.gif"
这应该起作用:

    dialog.Filter = "All Supported Audio | *.mp3; *.wma | MP3s | *.mp3 | WMAs | *.wma";
    dialog.AutoUpgradeEnabled = false; //using FileDialog.AutoUpgradeEnabled = false it will display the old XP sytle dialog box, which then displays correctly
    dialog.ShowDialog();
这个

将仅在组合框中显示“图像文件(*.bmp)”,同时仍显示具有所有指定扩展名的文件

或者你也可以

dialog.Filter = "Image files (*.bmp;...)|*.bmp;*.jpg"
指示它查找扩展名为bmp和其他一些扩展名的文件


这可能取决于操作系统。我用Windows7进行了测试。

你知道,这很简单。请参阅下面的代码片段。它会运行得很好。您可以这样定义更多的文件类型

OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "JPG Files(*.jpg)|*.jpg|PNG Files(*.png)|*.png|BMP Files(*.bmp)|*.bmp|GIF Files(*.gif)|*.gif|TIFF Files(*.tiff)|*.tiff|All Files(*.*)|*.*";
过滤器
属性中有两个部分。“JPG文件(.JPG)|.JPG”表示用于选择文件类型的下拉列表将显示
“JPG文件(*.JPG)”
,并且过滤器将针对管道字符的下一部分进行过滤,即
*.JPG

注意:切勿在
*.jpg
之后使用空格,也不要使用任何其他文件类型。如果使用,则无法筛选所需的文件类型


.

不,没有。至少Windows 7(可能还有Vista)会在显示的文本中自动添加“
(*.bmp;*.jpg;其他扩展名)
”。哦,好吧-文档中没有说明这一点。。。XP也不是这样,所以:如果我弄错了,很抱歉:-)这不是OP的问题。在我看来,这不是一个很好的折衷办法。。。使用一个更老的、贫民区风格的OpenFileDialog或处理一长串文件扩展名。Windows 7/8/10+应该有更好的方法,这是唯一体面的答案;将类似(.bmp)或(.bmp;…)的内容放在过滤器的第一部分,而不必接受XP样式的对话框,这是一个小小的折衷。
OpenFileDialog dialog = new OpenFileDialog();
dialog.Filter = "JPG Files(*.jpg)|*.jpg|PNG Files(*.png)|*.png|BMP Files(*.bmp)|*.bmp|GIF Files(*.gif)|*.gif|TIFF Files(*.tiff)|*.tiff|All Files(*.*)|*.*";