Разблокировка и удаление файлов из списка
У меня сложный вопрос для вас, ребята...
Я заполнил элемент списка со следующим кодом:
Dim loc5 As String
loc5 = "C:\Users\JoseLuis\Dropbox\files\0. Image\4. Galería\Collection"
Dim il As New ImageList
il.ColorDepth = ColorDepth.Depth32Bit
ListView1.LargeImageList = il
ListView1.SmallImageList = il
ListView1.LargeImageList.ImageSize = New System.Drawing.Size(28, 28)
For Each file In System.IO.Directory.GetFiles(loc5)
Dim list As New ListViewItem(IO.Path.GetFileName(file.ToString))
Dim listnoex As New ListViewItem(IO.Path.GetFileNameWithoutExtension(file.ToString))
list.Text = IO.Path.GetFileName(file.ToString)
listnoex.Text = IO.Path.GetFileNameWithoutExtension(file.ToString)
If list.Text.Contains(".PNG") Or list.Text.Contains(".png") Then
il.Images.Add(file, Drawing.Image.FromFile(file))
ListView1.Items.Add(listnoex.Text, il.Images.Count - 1)
End If
Next
Это получает thumnbnail от связки pngs из файла...
Все работает отлично, пока я не доберусь до кнопки удаления...
Dim loc5 As String
Dim named As String
loc5 = "C:\Users\JoseLuis\Dropbox\files\0. Image\4. Galería\Collection\"
Dim item As ListViewItem
item = ListView1.SelectedItems.Item(0)
named = loc5 & (item.Text) & ".png"
item.Remove()
My.Computer.FileSystem.DeleteFile(Name, FileIO.UIOption.OnlyErrorDialogs, FileIO.RecycleOption.SendToRecycleBin, FileIO.UICancelOption.ThrowException)
Каждый раз, когда я пытаюсь удалить выбранный файл, он, кажется, все еще используется кнопкой, которая заполнила список...
Любые подсказки о том, как избавиться от выбранного элемента и изображения из списка?
заранее спасибо
2 ответа
Решение
Спасибо всем за ваш ответ. Визуал Винсент прав, я имел ввиду по имени лол.
Решено! Одна изящная маленькая строчка решила мою проблему: GC.Collect() после удаления элемента из списка.
Еще раз спасибо за ваш опыт.
Попробуй это.
il.images.add(Image.FromStream(New MemoryStream(File.ReadAllBytes(file))))
Это создает новое изображение отдельно от вашего файла.