4
我正在使用SaveFileDialog
来保存图像。C#SaveFileDialog从多个扩展名中设置一个扩展名未输入时自动添加扩展名
控制的过滤器是:PNG|*png;|GIF|*gif;|BMP|*bmp;|JPEG|*jpg;*jpeg;
但是,如果扩展未在文件名输入,它不会自动添加扩展名。
我知道我可以设置一个DefaultExt
,但是,我不知道如何处理这个问题时,从多个扩展选择。
我正在使用SaveFileDialog
来保存图像。C#SaveFileDialog从多个扩展名中设置一个扩展名未输入时自动添加扩展名
控制的过滤器是:PNG|*png;|GIF|*gif;|BMP|*bmp;|JPEG|*jpg;*jpeg;
但是,如果扩展未在文件名输入,它不会自动添加扩展名。
我知道我可以设置一个DefaultExt
,但是,我不知道如何处理这个问题时,从多个扩展选择。
您遇到的问题是根据FileDialog.Filter
(您在模式中忽略了.
字符)的规则,您使用的过滤器不正确。在SaveFileDialog
自动添加扩展之前,它首先验证所选过滤器。在你的情况下,这个验证失败;这就是为什么自动添加不能按预期工作。
尝试以下过滤器:
PNG|*.png|GIF|*.gif|BMP|*.bmp|JPEG|*.jpg;*.jpeg
一个明确dialog.AddExtension = true;
不会伤到这里,虽然我相信这是默认的。
哦!我也发现过滤器是问题所以我复制并粘贴来自其他程序的过滤器,它运行良好,但我不知道为什么,,,和.........谢谢你告诉我,失踪DOT是原因 – jn4kim 2012-07-16 14:33:02
@ jn4kim:是的,你不需要'AddExtension = true',所以这是你的实际问题。 – Ani 2012-07-16 14:34:21
+1你说得对,他的问题是过滤器本身。实际上,对话框总是会添加扩展名,AddExtension只会改变它的选择方式。请@ jn4kim不接受我的回答,这是错误的。 – 2012-07-16 15:29:28