c 发表于 2013-6-8 15:23:57

C#程序删除图片问题

我写了一个C# winfrom小程序,通过openFileDialog控件上传图片到该项目中的image文件夹下,然后点击程序的上某个图片控件可以循环显示image下的图片(点击一次切换一张),现在我想通过窗口上的删除按钮,删除掉窗口图片控件所显现的图片对应image文件夹下的图片,却提示图片被程序所占用,无法删除,同时删除其他图片也不行,求各位高手给点方法。

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();
页: [1]
查看完整版本: C#程序删除图片问题