C#不要在OpenFileDialog中显示过滤器扩展名

问题描述 投票:3回答:4

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

样品:

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

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

c# openfiledialog
4个回答
2
投票

这应该工作:

    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();

2
投票

这个

dialog.Filter = "Image files (*.bmp)|*.bmp;*.jpg"

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

或者你可以做到

dialog.Filter = "Image files (*.bmp;...)|*.bmp;*.jpg"

表示它查找扩展名为bmp和其他扩展名的文件。

这可能取决于操作系统。我用Windows 7测试过。


0
投票

它应该与你在问题中写的完全一样:

dialog.Filter = "Image files|*.bmp;*.jpeg;*.jpg;*.png;*.gif"

0
投票

你知道,这很简单。请参阅以下代码段。它将完美运行。您可以像这样定义更多文件类型。

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(*.*)|*.*";

Filter财产分为两部分。 “JPG Files(.jpg)| .jpg”表示选择文件类型的下拉列表将显示"JPG Files(*.jpg)",过滤器将针对管道字符的下一部分即*.jpg发生。

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

.

© www.soinside.com 2019 - 2024. All rights reserved.