.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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д