例外。文件正由另一个进程使用(IMAGE)

时间:2014-07-30 00:48:53

标签: c# image exception

我正在打开一张图片,然后我尝试删除它,但是以下它已被删除" C#例外。文件正由另一个进程使用"

我将Picturebox设置为null。

pictureBox1.Image = null;

但问题仍然存在。

//File.Delete(Application.StartupPath + @"\Recursos\Fotos\Tragos\" + nombre + ".jpg");//

1 个答案:

答案 0 :(得分:0)

我猜你用文件对话框加载图像。 "否则,您需要编辑代码以使用您的方式打开文件"
"或提供更多信息或/和代码"

选择图像后,请使用文件流 他将打开图像,阅读它然后关闭它。 "所以它不会被使用"
我已经把OpenFileDialog dlg = new OpenFileDialog();在按钮外面,所以我也可以在删除按钮中获取信息。

然后它完美无缺。

   OpenFileDialog dlg = new OpenFileDialog();
    private void button2_Click(object sender, EventArgs e)
    {
        dlg.ShowDialog();
        if (dlg.ShowDialog() == DialogResult.OK)
        {
            System.IO.FileStream LoadFile = default(System.IO.FileStream);
            LoadFile = new System.IO.FileStream(dlg.FileName, System.IO.FileMode.Open, System.IO.FileAccess.Read);
            pictureBox1.Image = System.Drawing.Image.FromStream(LoadFile);
            LoadFile.Close();
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {

        DialogResult Sure = MessageBox.Show("Are you Sure ?", "Delete Image", MessageBoxButtons.YesNo);
        if (Sure == DialogResult.Yes)
        {
            pictureBox1.Image = null;
            File.Delete(dlg.FileName);
        }
    }