Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
SoproMaster
50 / 50 / 1
Регистрация: 12.10.2009
Сообщений: 152
1

Удаление открытых изображений

19.03.2010, 00:29. Просмотров 794. Ответов 5
Метки нет (Все метки)

Ситуация такая... В PictureBox открыто изображение. И есть кнопка, которая удаляет это изображение из компьютера. Проблема в том, что при нажатии выскакивает ошибка о том, что "Процесс не может получить доступ к файлу "...", так как этот файл используется другим процессом.
C#
1
2
3
string FullPath = @aPath + "\\" + ImageName;
            FileInfo fi = new FileInfo(FullPath);
            fi.Delete();
Читал, что может получиться удаление файла, если его открывать через FileStream, но темы ведутся про текстовые файлы. Да и загружаю изображение на форму через Bitmap, через у менч FS как то не пошло. Подскажите как можно решить проблему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2010, 00:29
Ответы с готовыми решениями:

Проверка открытых/закрытых портов
Написал тестовую программe которая посматривает определенный порт, а потом...

Перечисление открытых сетевых портов
приветствую, нужна помощь знающих людей. есть задача, а именно нужно написать в...

Изменить координаты открытых окон
Здравствуйте. Я хочу при помощи С# приложения изменить координаты всех...

Как получить список открытых окон
А как получить список открытых окон????(В listBox)(заранее спасибо)

Программное сохранение всех открытых в системе документов
Нужно перед снятием процесса string name = "WINWORD"; ...

5
Alligieri
CEO
Эксперт С++
2253 / 1243 / 57
Регистрация: 16.03.2009
Сообщений: 3,588
19.03.2010, 02:35 2
Пользуемся поиском
0
hitmen047
Местный Ёжидзе
42 / 42 / 4
Регистрация: 03.03.2010
Сообщений: 225
19.03.2010, 13:18 3
SoproMaster, Попробуй сперва из PictureBox выгрузить изображение, предварительно занеся путь в переменную, далее уже используй Delete(), должно помочь.
0
SergBokh
82 / 74 / 13
Регистрация: 03.09.2009
Сообщений: 346
19.03.2010, 14:10 4
Сталкивался с такой проблемой. Диспоз самой картинки не помогал, пришлось таки убивать весь объект-хранилище и создавать заново (я загружал картинки не в PictireBox а в ImageList).
0
_Art_
115 / 115 / 20
Регистрация: 21.01.2010
Сообщений: 252
19.03.2010, 15:06 5
Попробуй так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
        private void BtnDelete_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("Внимание выбраный файл\nбудет удален безвозвратно","Image Viewer", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) == DialogResult.OK)
            {
                try
                {
                    if(pictureBox1.Image != null)
                    {FileInfo fi = new FileInfo(aPath + "\\" + imgList[nImg]);
                    pictureBox1.Image.Dispose();
                    pictureBox1.Image = null;
                    fi.Delete();
                    }
                }
                catch (FileNotFoundException)
                {
                    MessageBox.Show("Внимание не найден удаляемый файл!", "Image Viewer", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
                catch (UnauthorizedAccessException)
                {
                    MessageBox.Show("Ошибка удаления.\nУ вас не достаточно прав чтобы удалить данный файл", "Image Viewer", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
2
SoproMaster
50 / 50 / 1
Регистрация: 12.10.2009
Сообщений: 152
20.03.2010, 00:06  [ТС] 6
Спасибо, работает как часы!)
0
20.03.2010, 00:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.03.2010, 00:06

Как получить названия всех открытых окон?
Здравствуйте! У меня такая проблема нужно взять список названий и handle всех...

Создание списка недавно открытых документов собственного приложения
Всем привет! Возник еще один вопрос. Как реализовать список недавно открытых...

Удаление неиспользуемых изображений
Вопрос касательно Subrion CMS (версия 2.3.7) Real Estates (тоже устаревшая...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru