这个问题我遇到过,是Image.FromFile的问题,Image控件读取图片
微软官方解释是:一个 图像对象从一个文件构造时该文件仍保留锁定对于对象的生存期。 因此, 无法更改图像并将其保存回它产生相同的文件。
我想你只浏览一次是不会出问题的,一旦浏览第二次就会报错了是吧。
解决办法:
Bitmap bmp = new Bitmap(filename );
//新建第二个bitmap类型的bmp2变量,。
Bitmap bmp2 = new Bitmap(1024, 768, PixelFormat.Format16bppRgb555);
//将第一个bmp拷贝到bmp2中
Graphics draw = Graphics.FromImage(bmp2);
draw.DrawImage(bmp,0,0);
//读取bmp2到getPhoto
emoloyee.getPhoto.Image=bmp2;
draw.Dispose();
bmp.Dispose();//释放bmp文件资源
这是因为你查询了数据库 所以反应会变慢 如果你快速的点击combobox 就会出现你说的现象
解决方法可以用一个"单例模式" 或者把FileStream 弄成全局变量
用unlocker可以查看文件被什么进程锁定,我是用这个方法的
加断点,看看提示正在被使用的时候,有哪些进程锁定文件了。