VB.NET自定义列表视图 - 如何获取图像列表?

时间:2014-08-15 21:26:31

标签: vb.net listview

我正在使用一些代码来向子项目添加图标。它工作得很好,但现在我需要将子图标列中的图标居中。为此,我需要重绘DrawSubItem事件下的图标。我如何与列表视图分配图像列表? (我正在使用Inherits Windows.Forms.ListView)

谢谢!

Private Sub lvResult_DrawSubItem(ByVal sender As Object, ByVal e As DrawListViewSubItemEventArgs)
    If e.SubItem.Text = "" Then
        Dim xpos = e.SubItem.Bounds.Location.X + (e.SubItem.Bounds.Width / 2) - 8
        Dim p As New PointF(xpos, e.SubItem.Bounds.Location.Y)
        e.DrawBackground()

          e.Graphics.DrawImage(***NEED IMAGE HERE FROM THE IMAGELIST***, p)
    Else
        e.DrawDefault = True
    End If


End Sub

1 个答案:

答案 0 :(得分:0)

只需使用该属性:

e.Graphics.DrawImage(Me.SmallImageList.Images("myImage")...

显然,你应该做一些错误检查以确保图像存在等等。

但是这说明了为什么你可能会走错路,因为你的自定义控件现在需要知道表单上存在的一些图像。不是一个好的面向对象设计。听起来你不需要自定义控件。