在Listview中为每个项目(文件夹)分配来自每个文件夹的图像

时间:2013-08-19 15:00:49

标签: vb.net listview filesystems windows-media-player imagelist

我正在开发一个应用程序来查找,播放和显示所有媒体,但主要是音乐。我在vb.net中使用Visual Studio 2012。在我的表单上,我有一个Windows Media Player(WMP)和两个列表视图。第一个listview(lvFolders)显示驱动器位置的所有文件夹。当我选择一个文件夹时,它会自动将所有文件(媒体曲目)加载到第二个列表视图(lvPlaylist)中,并使用WMP开始播放第一首曲目。这一切都运作良好。

在每个文件夹(500+)中,我都有一张名为“front.bmp”的相册的封面。我不能为我的生活弄清楚我做错了什么。由于listview正在填充我正在尝试将文件夹中的每个图像文件加载到图像列表中的文件夹,并使用该图像将文件夹显示为大图标。结果将是500多个大文件夹,每个文件夹显示来自图像列表的各自的专辑封面。

我特别不想使用文件夹浏览器对话框或打开文件对话框。此应用程序适用于基于触摸的应用程序,供我个人使用。

我附上了我的代码,以防它有助于理解我的困境。

    Private Sub LoadFolders_Click(sender As Object, e As EventArgs) Handles btnLoadFolders.Click

    For Each strDir As String In My.Computer.FileSystem.GetDirectories("E:\Music\TEST")


        Dim imageListLarge As New ImageList()
        Dim strAlbumArt As String = strDir & "\" & (My.Computer.FileSystem.GetName(strDir)) & ".bmp"        'URL of the image
        imageListLarge.ColorDepth = ColorDepth.Depth32Bit                                                   'Set the colour
        imageListLarge.ImageSize = New Size(128, 128)                                                       'Set image size
        imageListLarge.Images.Add(strAlbumArt, Image.FromFile(strAlbumArt))                                 'Add image to image list
        lvFolders.LargeImageList = imageListLarge                                                           'Assign the imagelist to the listview

        Dim NewItem As New ListViewItem(My.Computer.FileSystem.GetName(strDir), strAlbumArt)                'Create Column 1 data
        NewItem.SubItems.Add(My.Computer.FileSystem.GetFileInfo(strDir).FullName)                           'Create Column 2 data

        lvFolders.Items.Add(NewItem)                                                                        'Load into listview

    Next

End Sub

1 个答案:

答案 0 :(得分:0)

Dim strAlbumArt As String = strDir & "\" & (My.Computer.FileSystem.GetName(strDir)) & ".bmp"

中没有“front.bmp”。你确定你的意思不是Dim strAlbumArt As String = strDir & "\front.bmp吗?