.NET 3.x Правильное использование Image - C#
Формулировка задачи:
У меня есть файл 123.jpg на диске и я постоянно его меняю: удаляю старый и новый через WebClient загружаю. Так вот, когда я пытаюсь удалить старую фотку для загрузки новой, мне пишет "Ваша фотка используется другим процессом". Подскажите, как можно использовать фото, чтобы оно не было связано с процессом?
P.S. backgroundWorker1 работает несколько раз в течении процесса (в зависимости от действий пользователя), он загружает фото с разных url. После присвоения panel1 значения программа не дает удалить фото для новой загрузки
backgroundWorker1_DoWork(object sender, System.ComponentModel.DoWorkEventArgs e)
{
try
{
File.Delete("C:\\123.jpg");
}
catch (FileNotFoundException) { }
WebClient wc = new WebClient();
wc.DownloadFile(url, "C:\\123.jpg");
}
private void backgroundWorker1_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e){
panel1.BackgroundImage = Image.FromFile("C:\\123.jpg");
}Решение задачи: «.NET 3.x Правильное использование Image»
textual
Листинг программы
private void backgroundWorker1_RunWorkerCompleted(object sender, System.ComponentModel.RunWorkerCompletedEventArgs e){
MemoryStream mstream = new MemoryStream(File.ReadAllBytes(@"C:\123.jpg"));
panel1.BackgroundImage = Image.FromStream(mstream);
}