日期:2014-05-18  浏览次数:20966 次

图片问题
我有一个winform程序,在根目中有个image文件夹,当程序运行时,就加载里面的图片,当用户想换图的时候,就选择图片,程序就进替换原来image的图片。File.copy(源文件,保存路径+文件名,true),但出现一个异常,说(保存路径+文件名)正在使用啊

说明:加载图片是放在pictureBox中存入,当用户换图时就把pictureBox中Image对象更换.除picturBox是全局的,其他都是局部。

------解决方案--------------------
更新前把就的删除或是把picturBox=null.总是就是使他释放一下
------解决方案--------------------
System.GC.Collect();进行一个垃圾回收` 再清空picturbox里面的图片~然后再加载新图片 试试看
------解决方案--------------------
pictureBox1.Image.Dispose(); 
 pictureBox1.Image = null;
------解决方案--------------------
pictureBox1.Image.Dispose(); 
pictureBox1.Image = null;
------解决方案--------------------
pictureBox1.Image.Dispose(); 
pictureBox1.Image = null;
或者把图片直接放到资源文件里,用起来超方便
------解决方案--------------------
先把之前的图片清空,在添加。
------解决方案--------------------
先确认下在程序未启动时图片是否能拷贝,或者在提示“正在使用”后用"processxp.exe"程序查找看哪个进程在使用此图片,如果是自己的程序在用,那就要看下程序启动时是如何加载图片的(麻烦贴出代码来看看),建议使用File.ReadAllBytes(),因为它加载完成后就会关闭文件,不影响程序再次修改些文件,有些打开文件的方法是会独占文件的,在不关闭文件的情况下其它进程、线程是不能再对此文件操作的