我试图用DVD集合的海报和标题填充列表视图(瓷砖),但只有标题变得易碎。
这是我的代码:
Private Sub fillListView(ByVal listView As System.Windows.Forms.ListView, ByVal col As Collection)
listView.Items.Clear()
myImageList = New ImageList()
For Each item As bsDVD In col
Try
myImageList.Images.Add(Image.FromFile(Application.StartupPath & item.PosterURL))
Catch ex As Exception
MessageBox.Show(ex.message)
End Try
Next
myImageList.ImageSize = New Size(32, 32)
listView.LargeImageList = myImageList
For Each item As bsDVD In col
listView.Items.Add(item.Titel)
Next
End Sub
尝试了很多让它无法运作:(。我犯了一个愚蠢的错误或者?希望有人可以帮助我。
事先提前解决方案代码:
Private Sub fillListView(ByVal listView As System.Windows.Forms.ListView, ByVal col As Collection)
listView.Items.Clear()
myImageList = New ImageList()
myImageList.ImageSize = New Size(70, 100)
myImageList.ColorDepth = ColorDepth.Depth24Bit
For Each item As bsDVD In col
Try
myImageList.Images.Add(Image.FromFile(Application.StartupPath & item.PosterURL))
Catch ex As Exception
MessageBox.Show("Kan afbeelding niet inladen!")
End Try
Next
listView.LargeImageList = myImageList
Dim mItem As bsDVD
For i As Integer = 1 To col.Count
mItem = CType(col.Item(i), bsDVD)
listView.Items.Add(mItem.Titel)
listView.Items(i - 1).ImageIndex = (i - 1)
Next
End Sub
答案 0 :(得分:2)
您需要设置listviewitem的imageindex。
var lvitem = ListView.Items.Add(item.Titel)
lvItem.imageIndex = 1
或
ListView.Items.Add(item.Titel,1)
第X项获得imageindex = x-1
此外,当viewmode是详细信息时,您可能需要设置其他Images属性(SmallImageList)。