listview tile不显示图像(.NET2.0,VB,winforms)

时间:2010-07-10 14:21:25

标签: vb.net winforms listview image

我试图用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

1 个答案:

答案 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)。