Public Class BorderedTextFigureCell Inherits BorderCell Protected Overrides Sub Paint(graphics As Graphics, clipBounds As Rectangle, cellBounds As Rectangle, rowIndex As Integer, elementState As DataGridViewElementStates, value As Object, formattedValue As Object, errorText As String, cellStyle As DataGridViewCellStyle, advancedBorderStyle As DataGridViewAdvancedBorderStyle, paintParts As DataGridViewPaintParts) MyBase.Paint(graphics, clipBounds, cellBounds, rowIndex, elementState, value, formattedValue, errorText, cellStyle, advancedBorderStyle, paintParts) If Figure IsNot Nothing Then Dim imageSize = cellBounds.Height - BorderThickness - 3 Dim imagePos As New Rectangle(cellBounds.Right - BorderThickness - imageSize - 2, cellBounds.Y + BorderThickness, imageSize, imageSize) graphics.DrawImage(Figure, imagePos) End If End Sub Property Figure As Image End Class