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

Mir*_*pas 5 c# openfiledialog

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

样本:

dialog.Filter = "Image files|*.bmp;*.jpg; many image file extensions here"
Run Code Online (Sandbox Code Playgroud)

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

Hen*_*rik 5

这个

dialog.Filter = "Image files (*.bmp)|*.bmp;*.jpg"
Run Code Online (Sandbox Code Playgroud)

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

或者你可以做

dialog.Filter = "Image files (*.bmp;...)|*.bmp;*.jpg"
Run Code Online (Sandbox Code Playgroud)

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

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


小智 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();
Run Code Online (Sandbox Code Playgroud)