SaveFileDialog的使用问题(向国庆节还上CSDN的同志致敬!!)

music 2003-10-01 11:42:55
这个问题可能不值100分,略表心意!假日快乐!!

我的代码如下:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'保存图片
Me.SaveFileDialog1.Filter = "图像文件 (*.JPG)|*.JPG|所有文件 (*.*)|*.*"
Me.SaveFileDialog1.InitialDirectory = "..\saveimg"
Me.SaveFileDialog1.DefaultExt = "jpg"
Me.SaveFileDialog1.FileName = "效果图001"
Me.SaveFileDialog1.ShowDialog()

If Me.SaveFileDialog1.ShowDialog.OK Then
Me.PictureBox1.Image.Save(Me.SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)
End If
End Sub

1、当我点击对话框的“确定”保存一副图片后,再打开保存对话框,不点“确定”,点“取消”或点“×”关闭窗口后,在saveimg里出现“效果图001”无后缀的文件。

2、如果在开始时不点对话框的“确定”按钮(即不保存图片),再打开保存对话框,点“取消”或点“×”关闭窗口后,在saveimg里不会出现“效果图001”无后缀的文件。

3、我在调试时,发现无论选“取消”还是点“×”,程序都会执行 Me.PictureBox1.Image.Save(Me.SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)这段代码。

该如何修改,盼高手赐答!!




...全文
284 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Brunhild 2003-10-01
  • 打赏
  • 举报
回复
应该这样写才对吧:

If Me.SaveFileDialog1.ShowDialog()=DialogResult.OK Then
Me.PictureBox1.Image.Save(Me.SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)
End If
music 2003-10-01
  • 打赏
  • 举报
回复
哦,原来是这样的,我知道了,非常感谢!!!
Brunhild 2003-10-01
  • 打赏
  • 举报
回复
OK,我将完整的代码写出来:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'保存图片
Me.SaveFileDialog1.Filter = "图像文件 (*.JPG)|*.JPG|所有文件 (*.*)|*.*"
Me.SaveFileDialog1.InitialDirectory = "..\saveimg"
Me.SaveFileDialog1.DefaultExt = "jpg"
Me.SaveFileDialog1.FileName = "效果图001"

If Me.SaveFileDialog1.ShowDialog()=DialogResult.OK Then
Me.PictureBox1.Image.Save(Me.SaveFileDialog1.FileName, System.Drawing.Imaging.ImageFormat.Jpeg)
End If
End Sub
music 2003-10-01
  • 打赏
  • 举报
回复
Me.SaveFileDialog1.ShowDialog() '不需要,删除即可???
那我的保存对话框怎么出来啊?
Brunhild 2003-10-01
  • 打赏
  • 举报
回复
to:music(BugMaker)
szch(灏然)已经帮我回答了你的问题
music 2003-10-01
  • 打赏
  • 举报
回复
TO Brunhild() :
如果写成If Me.SaveFileDialog1.ShowDialog()=DialogResult.OK Then,则该判断执行两次(这是为何),我点“确定”或“取消”都要两次才成功,不过不会出现“效果图001”无后缀的文件。

TO supercdz(烟鬼,一天两包半) :
我的意思不是这个文件显示不正常,而是不应出现这个文件!

TO szch(灏然) :
我原来就是那样写的才出现那样的问题啊

谢谢各位!!

szch 2003-10-01
  • 打赏
  • 举报
回复
Me.SaveFileDialog1.ShowDialog() '不需要,删除即可

If Me.SaveFileDialog1.ShowDialog.OK Then
supercdz 2003-10-01
  • 打赏
  • 举报
回复
出现无后缀的原因 可能是在文件夹设置里,显示了所有文件类型的后缀

资源管理器 -> 文件夹选项 -> 查看 -> 隐藏已知文件的扩展名

如果该项没有被选中,或出现你这样的情况

解决办法: 先判断Me.SaveFileDialog1.FileName是否包含JPG后缀,如果没有,可以这么写Me.SaveFileDialog1.FileName + ".JPG"

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧