_nice 2014-09-01 01:30 采纳率: 0%
浏览 1768

winform中picturebox修改照片

win7系统,winform程序。
做的是一个关于管理个人信息的winform项目,其中有利用picturebox上传个人照片并保存照片路径到数据库,第一次选择照片可以成功上传和显示,但是如果要做修改照片或者如果第一次选错了第二次选择时不成功。
首次选择照片代码如下:

using (OpenFileDialog ofd = new OpenFileDialog())
           {
               ofd.Title = "请选择要插入的图片";
               ofd.CheckFileExists = true;
            ofd.CheckPathExists = true;
            if (ofd.ShowDialog() == DialogResult.OK)
            {
                string oldName = ofd.FileName;
                string[] splitName = oldName.Split('.');
                string ext = splitName[splitName.Length - 1];
                string dbName = "Photos/" + R_id + "." + ext;
                string newName = AppDomain.CurrentDomain.BaseDirectory + dbName;
                File.Copy(oldName, newName, true);
                Image img = Image.FromFile(newName);
                pictureBox1.Image = img;
                pictureBox1.ImageLocation = dbName;
            }
        }

这个时候可以成功选择照片,可以把照片从oldName的路径下复制到项目Photo文件夹newName路径下并且可以成功显示在picturebox中。
但是如果第一次选择照片选择错了,需要再次选择时就会报错:图片(相对项目的路径)“正由另一进程使用,因此该进程无法访问此文件”。第一次上传成功了的话,再次编辑时也是一样的错误。
我尝试过在重新选择时,如果选择成功就把原图片删除再上传,但是也不行。。。

求大神帮帮忙~~

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
    • ¥15 python爬取bilibili校园招聘网站
    • ¥30 求解达问题(有红包)
    • ¥15 请解包一个pak文件
    • ¥15 不同系统编译兼容问题
    • ¥100 三相直流充电模块对数字电源芯片在物理上它必须具备哪些功能和性能?
    • ¥30 数字电源对DSP芯片的具体要求
    • ¥20 antv g6 折线边如何变为钝角
    • ¥30 如何在Matlab或Python中 设置饼图的高度
    • ¥15 nginx中的CORS策略应该如何配置