Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > WPF, UWP, WinRT, XAML
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.01.2018, 23:27   #1
senehka07
 
Регистрация: 31.10.2017
Сообщений: 4
Стрелка Удалить изображение из 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; 09.01.2018 в 23:37.
senehka07 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
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 10:20
Как удалить ранее нарисованное изображение Xcopy Паскаль, Turbo Pascal, PascalABC.NET 3 30.03.2009 08:50
как удалить анти вирус( касперский 2006)если она не работает и ее не возможно удалить Alar Общие вопросы Delphi 0 29.10.2006 21:36