我正在打开一张图片,然后我尝试删除它,但是以下它已被删除" C#例外。文件正由另一个进程使用"
我将Picturebox设置为null。
pictureBox1.Image = null;
但问题仍然存在。
//File.Delete(Application.StartupPath + @"\Recursos\Fotos\Tragos\" + nombre + ".jpg");//
答案 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);
}
}