0

ObjectListViewを使用して、画像リスト内のすべての画像を表示するにはどうすればよいですか?ObjectListViewのホームサイトで、C#でこれを行う方法を示しました(私はc#とデリゲートがあまり得意ではありません)。しかし、VB.netで動作させることはできません。

4

1 に答える 1

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
于 2011-12-29T14:26:44.557 に答える