2011-12-29 2 views
0

Как использовать ObjectListView для отображения всех изображений в списке изображений? На домашнем сайте ObjectListView они показали, как это сделать в C# (я не так хорош с C# и делегатами). Но я не могу заставить его работать на VB.net.Как использовать ObjectListView для отображения всех изображений в imagelist?

ответ

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 

А затем установите поглотитель изображение для столбца ему нравится:

Me.mainColumn.ImageGetter = AddressOf GetImageFromList 
+0

Что это изображение геттер? Это контроль в vb.net? Будет ли он работать в VS2010? –

+0

Я получаю три ошибки http://i.imgur.com/39LQR.png –

+0

ImageGetter - свойство делегата в столбце. Вам нужно написать методы, чтобы получить изображения из вашего imageList по ключу. Это были просто примеры, которые они предоставили – Jay

Смежные вопросы