Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Paint Method
Collapse the table of content
Expand the table of content

DataGridViewCell.Paint Method

Paints the current DataGridViewCell.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

'Declaration
Protected Overridable Sub Paint ( _
	graphics As Graphics, _
	clipBounds As Rectangle, _
	cellBounds As Rectangle, _
	rowIndex As Integer, _
	cellState As DataGridViewElementStates, _
	value As Object, _
	formattedValue As Object, _
	errorText As String, _
	cellStyle As DataGridViewCellStyle, _
	advancedBorderStyle As DataGridViewAdvancedBorderStyle, _
	paintParts As DataGridViewPaintParts _
)

Parameters

graphics
Type: System.Drawing.Graphics
The Graphics used to paint the DataGridViewCell.
clipBounds
Type: System.Drawing.Rectangle
A Rectangle that represents the area of the DataGridView that needs to be repainted.
cellBounds
Type: System.Drawing.Rectangle
A Rectangle that contains the bounds of the DataGridViewCell that is being painted.
rowIndex
Type: System.Int32
The row index of the cell that is being painted.
cellState
Type: System.Windows.Forms.DataGridViewElementStates
A bitwise combination of DataGridViewElementStates values that specifies the state of the cell.
value
Type: System.Object
The data of the DataGridViewCell that is being painted.
formattedValue
Type: System.Object
The formatted data of the DataGridViewCell that is being painted.
errorText
Type: System.String
An error message that is associated with the cell.
cellStyle
Type: System.Windows.Forms.DataGridViewCellStyle
A DataGridViewCellStyle that contains formatting and style information about the cell.
advancedBorderStyle
Type: System.Windows.Forms.DataGridViewAdvancedBorderStyle
A DataGridViewAdvancedBorderStyle that contains border styles for the cell that is being painted.
paintParts
Type: System.Windows.Forms.DataGridViewPaintParts
A bitwise combination of the DataGridViewPaintParts values that specifies which parts of the cell need to be painted.

The following code example demonstrates how to override the Paint method of a DataGridViewButtonCell. This code example is part of a larger example provided in How to: Disable Buttons in a Button Column in the Windows Forms DataGridView Control.


Protected Overrides Sub Paint(ByVal graphics As Graphics, _
    ByVal clipBounds As Rectangle, ByVal cellBounds As Rectangle, _
    ByVal rowIndex As Integer, _
    ByVal elementState As DataGridViewElementStates, _
    ByVal value As Object, ByVal formattedValue As Object, _
    ByVal errorText As String, _
    ByVal cellStyle As DataGridViewCellStyle, _
    ByVal advancedBorderStyle As DataGridViewAdvancedBorderStyle, _
    ByVal paintParts As DataGridViewPaintParts)

    ' The button cell is disabled, so paint the border,  
    ' background, and disabled button for the cell.
    If Not Me.enabledValue Then

        ' Draw the background of the cell, if specified.
        If (paintParts And DataGridViewPaintParts.Background) = _
            DataGridViewPaintParts.Background Then

            Dim cellBackground As New SolidBrush(cellStyle.BackColor)
            graphics.FillRectangle(cellBackground, cellBounds)
            cellBackground.Dispose()
        End If

        ' Draw the cell borders, if specified.
        If (paintParts And DataGridViewPaintParts.Border) = _
            DataGridViewPaintParts.Border Then

            PaintBorder(graphics, clipBounds, cellBounds, cellStyle, _
                advancedBorderStyle)
        End If

        ' Calculate the area in which to draw the button.
        Dim buttonArea As Rectangle = cellBounds
        Dim buttonAdjustment As Rectangle = _
            Me.BorderWidths(advancedBorderStyle)
        buttonArea.X += buttonAdjustment.X
        buttonArea.Y += buttonAdjustment.Y
        buttonArea.Height -= buttonAdjustment.Height
        buttonArea.Width -= buttonAdjustment.Width

        ' Draw the disabled button.                
        ButtonRenderer.DrawButton(graphics, buttonArea, _
            PushButtonState.Disabled)

        ' Draw the disabled button text. 
        If TypeOf Me.FormattedValue Is String Then
            TextRenderer.DrawText(graphics, CStr(Me.FormattedValue), _
                Me.DataGridView.Font, buttonArea, SystemColors.GrayText)
        End If

    Else
        ' The button cell is enabled, so let the base class 
        ' handle the painting.
        MyBase.Paint(graphics, clipBounds, cellBounds, rowIndex, _
            elementState, value, formattedValue, errorText, _
            cellStyle, advancedBorderStyle, paintParts)
    End If
End Sub


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

ADD
Show:
© 2015 Microsoft