Исключения The process cannot access the file "FilePath" because it is being used by another process
есть такая проблема
private void button1_Click(object sender, EventArgs e)
{
System.IO.File.Move("resours/image/printscreen.txt", "resours/image/printscreen.jpg");
this.pictureBox1.Image = Image.FromFile("resours/image/printscreen.jpg");
File.Delete("resours/image/printscreen.jpg"); // думал ошибка исчезнет
}
private void button2_Click(object sender, EventArgs e)
{
System.IO.File.Delete("resours/image/printscreen.jpg"); // вот тут появляется исключения
System.IO.File.Move("resours/image/printscreen.txt", "resours/image/printscreen.jpg");
this.pictureBox1.Image = Image.FromFile("resours/image/printscreen.jpg");
}
мне надо както виходить из файла после переобразования , есть using но как его использвоть при system.io.file.delete ?
сперва работает функция button1_Click(); после button2_Click();
Ответы (1 шт):
Автор решения: OXYGEN
→ Ссылка
Проблема заключается в:
this.pictureBox1.Image = Image.FromFile("resours/image/printscreen.jpg");вы говорите picturebox1 где брать фото , он берет использует эти данные 2.File.Delete("resours/image/printscreen.jpg");а потом вы хотите удалить
чтобы удалить должно быть так :
this.pictureBox1.Image = null; // перестать использовать
File.Delete("resours/image/printscreen.jpg"); //удалить
если все же надо отображать фото то пишите его в память а после удаляйте фото вот ссылка : https://stackoverflow.com/questions/9088443/view-image-file-without-locking-it-copy-to-memory