Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > .NET > WPF, UWP, WinRT, XAML
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 10.01.2018, 00:27   #1
senehka07
 
Регистрация: 31.10.2017
Сообщений: 4
Репутация: 10
Стрелка Удалить изображение из ImageBrush

Имеется форма. На ней Border и Button. У Border на фоне стоит картинка из папки "c:\Pfolder". Фоновую картинку ставлю так:
Код:

BitmapImage bi = new BitmapImage();
bi.UriSource = new Uri("c:\Pfolder\pic.png");          
ImageBrush ib = new ImageBrush();
ib.ImageSource = bi;
Border1.Background = ib;

При нажатии на Button открывается openFileDialog и выбирается картинка. Эта картинка копируется в папку "c:\Pfolder". Но так как в этой папке уже есть картинка, то её нужно удалить, чтобы поместить новую. При попытке удалить картинку появляется ошибка:
Цитата:
Процесс не может получить доступ к файлу "C:\Pfolder\pic.png", так как этот файл используется другим процессом.
Код:
Код:

System.Windows.Forms.OpenFileDialog openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
openFileDialog1.Filter = "BMP|*.png";
var dr = openFileDialog1.ShowDialog();

if (dr == System.Windows.Forms.DialogResult.OK)
{
    var filename = @"C:\Pfolder\pic.png";
    Border1.Background = null;
    if (File.Exists(filename))
    {
          File.Delete(filename); //тут появляется ошибка
    }

    File.Copy(openFileDialog1.FileName, filename);
                
    var ib = new ImageBrush();
    ib.ImageSource = new BitmapImage(new Uri(filename, UriKind.Relative));
    Border1.Background = ib;
}

Вопрос: как удалить предыдущую картинку и на её место поставить новую?

Последний раз редактировалось senehka07; 10.01.2018 в 00:37.
senehka07 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ImageBrush + SolidColorBrush [C#, WPF] pashka_dos WPF, UWP, WinRT, XAML 3 07.07.2013 15:53
Забиндить ImageBrush ImageSource coNsept Общие вопросы .NET 1 28.11.2012 05:00
удалить дубли в tstringlist, и удалить по списку AHTOLLlKA Компоненты Delphi 2 17.01.2010 11:20
Как удалить ранее нарисованное изображение Xcopy Паскаль 3 30.03.2009 08:50
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить Alar Общие вопросы Delphi 0 29.10.2006 22:36


00:09.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru