当图像包含某些文本时,如何将其设置为listview项目?

当图像包含某些文本时,如何将其设置为listview项目?,listview,imagelist,vb.net,winforms,Listview,Imagelist,Vb.net,Winforms,有人知道当图像包含某些文本时,我如何将其设置为项目吗?例如,如果一个项目的文本是带有“.png”的内容,我想给该项目(或那些项目)一个我已经添加到项目中的图像。 下面是我用来填充文件夹和文件的代码: Dim FilePath As String = "C:\" ControlListView.Items.Clear() Dim DirInfo() As DirectoryInfo DirInfo = New DirectoryInfo(FilePath).Get

有人知道当图像包含某些文本时,我如何将其设置为项目吗?例如,如果一个项目的文本是带有“.png”的内容,我想给该项目(或那些项目)一个我已经添加到项目中的图像。 下面是我用来填充文件夹和文件的代码:

    Dim FilePath As String = "C:\"
    ControlListView.Items.Clear()
    Dim DirInfo() As DirectoryInfo

    DirInfo = New DirectoryInfo(FilePath).GetDirectories

    For Each DirInfoFolder In DirInfo
        ControlListView.Items.Add(DirInfoFolder.Name)
    Next

    Dim FilePathFiles As New IO.DirectoryInfo(FilePath)

    For Each FileInfoFolder In FilePathFiles.GetFiles
        ControlListView.Items.Add(FileInfoFolder.Name)
    Next

任何帮助都将受到感谢。提前感谢:)

不要使用默认的ListView.Add(string),您需要构建自己的ListViewItem,然后在图像列表中为图像设置正确的索引后将其添加到ListView。(我的VB.Net已生锈,请验证语法)


使用
ListViewItem
.ImageIndex
属性,使用图像列表中所需图像的索引。我认为您遗漏了一些内容。我需要一个特定的图像为每种文件类型。我已经得到了这些图像,但是我如何应用它们呢?(当listview项包含例如.png?)查找特定图像,获取索引并使用
.ImageIndex
属性“应用”它。如果png在您的imagelist中是索引13,则将其用作myLVI.ImageIndex=x的属性值。这不是一个论坛-我们不会标记问题已解决。复选标记就是为了达到这个目的。它是有效的,但问题是,分辨率很差。图像为100x100。试图更改ImageList中的大小,但没有结果。你知道如何解决这个问题吗?你从哪里获得pngImageIndex@cdkMoose?@gumuruh,从你保存图像列表的任何地方。您可以通过在ImageList中标识所需的图像来实现这一点。您可能会存储.png、.pdf、。。。而不是不断地查找它
For Each FileInfoFolder In FilePathFiles.GetFiles
    Dim lvi as New ListViewItem(FileInfoFolder.Name)

    If FileInfoFolder.Name.EndsWith(".png")
        lvi.ImageIndex = pngImageIndex
    End If

    ControlListView.Items.Add(lvi)
Next