【问题标题】:How to use ObjectListView to show all the images in a imagelist?如何使用 ObjectListView 显示图像列表中的所有图像?
【发布时间】:2011-12-29 14:02:00
【问题描述】:

如何使用 ObjectListView 显示图像列表中的所有图像?在 ObjectListView 的主页中,他们展示了如何在 C# 中执行此操作(我对 c# 和委托不太擅长)。但我无法让它在 VB.net 中工作。

【问题讨论】:

    标签: vb.net imagelist objectlistview


    【解决方案1】:

    这是他们的例子的直接翻译:

    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
    

    【讨论】:

    • 这个图像获取器是什么?它是 vb.net 中的控件吗?它可以在 VS2010 中工作吗?
    • ImageGetter 是列上的委托属性。您需要编写方法以按键从您的 imageList 中获取图像。这些只是他们提供的示例
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-28
    相关资源
    最近更新 更多