从列表视图中解锁和删除文件

unlocking and deleting files from listview

我有一个难题要问你们...

我一直在使用以下代码填充列表视图项目:

    Dim loc5 As String
    loc5 = "C:\Users\JoseLuis\Dropbox\files[=10=]. Image. 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

它从一个文件的一堆 png 中获取缩略图...

一切正常,直到我点击删除按钮...

    Dim loc5 As String
    Dim named As String

    loc5 = "C:\Users\JoseLuis\Dropbox\files[=11=]. Image. 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)

每次我尝试删除所选文件时,填充列表的按钮似乎仍在使用它...

关于如何从列表视图中处理所选项目和图像的任何线索?

提前致谢

试试这个。

il.images.add(Image.FromStream(New MemoryStream(File.ReadAllBytes(file))))

这将创建一个与您的文件分开的新图像。

谢谢大家的回复。视觉文森特是对的,我的意思是叫大声笑。

已解决! ,一条漂亮的小线解决了我的问题: GC.Collect() 从列表视图中删除项目后。

再次感谢您的专业知识。