2011-12-29 55 views

回答

2

這裏是他們的榜樣的直接轉換:

Me.mainColumn.ImageGetter = Function(row As Object) Do 
    Dim key As String = Me.GetImageKey(row) 
    If Not Me.listView.LargeImageList.Images.ContainsKey(key) Then 
     Dim smallImage As Image = Me.GetSmallImageFromStorage(key) 
     Dim largeImage As Image = Me.GetLargeImageFromStorage(key) 
     Me.listView.SmallImageList.Images.Add(key, smallImage) 
     Me.listView.LargeImageList.Images.Add(key, largeImage) 
    End If 
    Return key 
End Function 

,因爲它使用一個內聯函數,將只與最新版本的VB.NET的工作。你可以改變它像這樣的舊版本:

創建類似的功能:

Public Function GetImageFromList(row As Object) As String 
     Dim key As String = Me.GetImageKey(row) 
     If Not Me.listView.LargeImageList.Images.ContainsKey(key) Then 
      Dim smallImage As Image = Me.GetSmallImageFromStorage(key) 
      Dim largeImage As Image = Me.GetLargeImageFromStorage(key) 
      Me.listView.SmallImageList.Images.Add(key, smallImage) 
      Me.listView.LargeImageList.Images.Add(key, largeImage) 
     End If 
     Return key 
End Function 

然後設置你的形象getter是否列之如:

Me.mainColumn.ImageGetter = AddressOf GetImageFromList 
+0

這是什麼形象吸氣劑?它在vb.net中是一個控件嗎?它會在VS2010中工作嗎? – 2011-12-29 15:01:25

+0

我得到三個錯誤http://i.imgur.com/39LQR.png – 2011-12-29 15:09:55

+0

ImageGetter是列上的委託屬性。您需要編寫方法以通過密鑰從imageList中獲取圖像。這些只是他們提供的例子 – Jay 2011-12-29 15:48:08