“常用公式”在线计算,“设计手册”在线查询
我写了一个C# winfrom小程序,通过openFileDialog控件上传图片到该项目中的image文件夹下,然后点击程序的上某个图片控件可以循环显示image下的图片(点击一次切换一张),现在我想通过窗口上的删除按钮,删除掉窗口图片控件所显现的图片对应image文件夹下的图片,却提示图片被程序所占用,无法删除,同时删除其他图片也不行,求各位高手给点方法。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 支持支持 反对反对

共 1 个关于本帖的回复 最后回复于 2013-6-8 15:24

沙发
a+ 新来的 发表于 2013-6-8 15:24:28 | 只看该作者
研发埠培训中心
不知道你的删除代码是怎么写的,你再删除的时候回收一下内存,比如:this.pictureBox.Image.Dispose();this.pictureBox.Image= null;System.GC.Collect();如何还不行,你尝试一下将图片以流的方式加载:FileStream fs = new FileStream(entryPhoto,FileMode.Open);Image img =Image.FromStream(fs);fs.Close();以流的方式加载后,这里提供给你两种强制删除的方法,你试试://第一种方法,在要进行文件操作前将Image对象销毁.PictureBox picbox;if(picbox.Image!=null)picbox.Image.Disponse();//第二种方法,就是在加载图像的时候用一种方法替代:System.Drawing.Image img =System.Drawing.Image.FromFile(filepath);System.Drawing.Image bmp = new System.Drawing.Bitmap(img.Width, img.Height,System.Drawing.Imaging.PixelFormat.Format32bppArgb);System.Drawing.Graphics g =System.Drawing.Graphics.FromImage(bmp);g.DrawImage(img,0,0);g.Flush();g.Dispose();img.Dispose();
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们

360网站安全检测平台