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