我有一个带有一个按钮列的datagridview。当我使用带有图像的下列代码" unblock3.png"显示图像,但当我用另一个图像替换它时#34; check1.png"没有显示任何内容。
我尝试将check1.png调整为较小的尺寸,但仍无效。
你可以帮我弄清楚出了什么问题吗?提前谢谢Private Sub ShiftsList_CellPainting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) Handles ShiftsList.CellPainting
If ShiftsList.Columns(e.ColumnIndex).Name = "ConfirmShift" AndAlso e.RowIndex >= 0 Then
e.Paint(e.CellBounds, DataGridViewPaintParts.All)
e.Graphics.DrawImage(My.Resources.unblock3, CInt((e.CellBounds.Width / 2) - (My.Resources.unblock3.Width / 2)) + e.CellBounds.X, CInt((e.CellBounds.Height / 2) - (My.Resources.unblock3.Height / 2)) + e.CellBounds.Y)
e.Handled = True
End If
End Sub
答案 0 :(得分:1)
我认为图像已经显示,但是人眼无法识别。
我唯一需要添加的是提供具有所需宽度和高度的绘图命令。
If FilesList.Columns(e.ColumnIndex).Name = "Unblock" AndAlso e.RowIndex >= 0 Then
e.Paint(e.CellBounds, DataGridViewPaintParts.All)
e.Graphics.DrawImage(My.Resources.unblock3, CInt((e.CellBounds.Width / 2) - (My.Resources.unblock3.Width / 2)) + e.CellBounds.X, CInt((e.CellBounds.Height / 2) - (My.Resources.unblock3.Height / 2)) + e.CellBounds.Y, My.Resources.unblock3.Width, My.Resources.unblock3.Height)
e.Handled = True
End If
我的图片很小32x32所以我提供了他们的原始尺寸。