OpenFileDialog 中的多个文件扩展名

Posted

技术标签:

【中文标题】OpenFileDialog 中的多个文件扩展名【英文标题】:Multiple file extensions in OpenFileDialog 【发布时间】:2011-06-10 07:11:41 【问题描述】:

如何使用OpenFileDialog 在一组中使用多个文件扩展名? 我有Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg|PNG|*.png|TIFF|*.tiff" 我想创建组,所以 JPG 是 *.jpg 和 *.jpeg,TIFF 是 *.tif 和 *.tiff 以及“所有图形类型”?我该怎么做?

【问题讨论】:

【参考方案1】:

基于第一个答案,这里是完整的图像选择选项:

Filter = @"|All Image Files|*.BMP;*.bmp;*.JPG;*.JPEG*.jpg;*.jpeg;*.PNG;*.png;*.GIF;*.gif;*.tif;*.tiff;*.ico;*.ICO
           |PNG|*.PNG;*.png
           |JPEG|*.JPG;*.JPEG*.jpg;*.jpeg
           |Bitmap(.BMP,.bmp)|*.BMP;*.bmp                                    
           |GIF|*.GIF;*.gif
           |TIF|*.tif;*.tiff
           |ICO|*.ico;*.ICO";

【讨论】:

【参考方案2】:

这是来自MSDN 示例:

(*.bmp, *.jpg)|*.bmp;*.jpg

所以对于你的情况

openFileDialog1.Filter = "JPG (*.jpg,*.jpeg)|*.jpg;*.jpeg|TIFF (*.tif,*.tiff)|*.tif;*.tiff"

【讨论】:

这个解决方案更加优雅、正确和理想。这应该是投票率最高的解决方案。【参考方案3】:

Try:

Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg;*.jpeg|PNG|*.png|TIFF|*.tif;*.tiff"

然后对“所有图形类型”的所有扩展名(与上面的; 一起)进行另一轮复制/粘贴:

Filter = "BMP|*.bmp|GIF|*.gif|JPG|*.jpg;*.jpeg|PNG|*.png|TIFF|*.tif;*.tiff|"
       + "All Graphics Types|*.bmp;*.jpg;*.jpeg;*.png;*.tif;*.tiff"

【讨论】:

我建议将“ALL”选项放在首位,因为这似乎是默认设置。 不要在描述部分放|,它会错过解析它。

以上是关于OpenFileDialog 中的多个文件扩展名的主要内容,如果未能解决你的问题,请参考以下文章

vba 中的 OpenFileDialog 以字符串形式返回目录

获取 OpenFileDialog 选择的文件的文件扩展名

C# - 如何自定义 OpenFileDialog 以选择多个文件夹和文件?

在 OpenFileDialog 中过滤文件的正则表达式

C#中openFileDialog1的问题

SaveFileDialog 或 OpenFileDialog 控件 - 创建/修改左侧文件夹按钮