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

时间:2012-01-10 09:59:57

标签: c# openfiledialog

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

样品:

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

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

4 个答案:

答案 0 :(得分: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();

答案 1 :(得分:2)

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

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

或者你可以做到

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

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

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

答案 2 :(得分:0)

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

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

答案 3 :(得分: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文件( .jpg)| .jpg”表示选择文件类型的下拉列表将显示"JPG Files(*.jpg)",过滤器将针对管道字符的下一部分发生,即{{1} }。

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