C#Don';t在OpenFileDialog中显示筛选器扩展

本文关键字:显示 筛选 扩展 OpenFileDialog C#Don | 更新日期: 2023-09-27 18:19:49

OpenFileDialog的Filter属性中有多个扩展。是否可以隐藏扩展并只显示描述?

样品:

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

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

C#Don';t在OpenFileDialog中显示筛选器扩展

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

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

或者你可以做

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

以指示它查找扩展名为bmp和其他一些扩展名的文件。

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

这应该有效:

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

它应该和你在问题中写的一样工作:

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

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

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之后使用任何空间,也不要使用任何其他文件类型。如果使用,则无法筛选所需的文件类型