我正在使用一些代码来向子项目添加图标。它工作得很好,但现在我需要将子图标列中的图标居中。为此,我需要重绘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
答案 0 :(得分:0)
只需使用该属性:
e.Graphics.DrawImage(Me.SmallImageList.Images("myImage")...
显然,你应该做一些错误检查以确保图像存在等等。
但是这说明了为什么你可能会走错路,因为你的自定义控件现在需要知道表单上存在的一些图像。不是一个好的面向对象设计。听起来你不需要自定义控件。