【问题标题】:C# Don't display filter extensions in OpenFileDialogC# 不要在 OpenFileDialog 中显示过滤器扩展
【发布时间】:2012-01-10 09:59:57
【问题描述】:

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

示例:

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

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

【问题讨论】:

    标签: c# openfiledialog


    【解决方案1】:

    这个

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

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

    或者你可以这样做

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

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

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

    【讨论】:

    • 唯一体面的答案;将 (.bmp) 或 (.bmp; ...) 之类的内容放在过滤器的第一部分,而不是必须接受 XP 样式的对话框,这是一个小小的权衡。跨度>
    【解决方案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();
    

    【讨论】:

    • 不是一个很好的权衡 IMO... 获得一个较旧的、贫民窟风格的 OpenFileDialog 或处理一长串文件扩展名。 Windows 7/8/10+ 应该有更好的方法
    【解决方案3】:

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

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

    【讨论】:

    • 不,它没有。至少 Windows 7(可能还有 Vista)会自动将“(*.bmp;*.jpg;other extensions)”附加到显示的文本中。
    • 哦,好吧 - 这不是文档所述的内容...在 XP 上也不是这样,所以:对不起,如果我弄错了 :-)
    【解决方案4】:

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

    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 之后使用任何空格或任何其他文件类型。如果使用,它无法过滤您想要的文件类型。

    .

    【讨论】:

    • 那不是 OP 的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    相关资源
    最近更新 更多