Export (0) Print
Expand All
Expand Minimize

DataGridViewCell.Paint Method

Paints the current DataGridViewCell.

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

protected virtual void Paint(
	Graphics graphics,
	Rectangle clipBounds,
	Rectangle cellBounds,
	int rowIndex,
	DataGridViewElementStates cellState,
	Object value,
	Object formattedValue,
	string errorText,
	DataGridViewCellStyle cellStyle,
	DataGridViewAdvancedBorderStyle advancedBorderStyle,
	DataGridViewPaintParts paintParts
)

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 override void Paint(Graphics graphics,
    Rectangle clipBounds, Rectangle cellBounds, int rowIndex,
    DataGridViewElementStates elementState, object value,
    object formattedValue, string errorText,
    DataGridViewCellStyle cellStyle,
    DataGridViewAdvancedBorderStyle advancedBorderStyle,
    DataGridViewPaintParts paintParts)
{
    // The button cell is disabled, so paint the border,   
    // background, and disabled button for the cell. 
    if (!this.enabledValue)
    {
        // Draw the cell background, if specified. 
        if ((paintParts & DataGridViewPaintParts.Background) ==
            DataGridViewPaintParts.Background)
        {
            SolidBrush cellBackground =
                new SolidBrush(cellStyle.BackColor);
            graphics.FillRectangle(cellBackground, cellBounds);
            cellBackground.Dispose();
        }

        // Draw the cell borders, if specified. 
        if ((paintParts & DataGridViewPaintParts.Border) ==
            DataGridViewPaintParts.Border)
        {
            PaintBorder(graphics, clipBounds, cellBounds, cellStyle,
                advancedBorderStyle);
        }

        // Calculate the area in which to draw the button.
        Rectangle buttonArea = cellBounds;
        Rectangle buttonAdjustment =
            this.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 (this.FormattedValue is String) 
        {
            TextRenderer.DrawText(graphics,
                (string)this.FormattedValue,
                this.DataGridView.Font,
                buttonArea, SystemColors.GrayText);
        }
    }
    else
    {
        // The button cell is enabled, so let the base class  
        // handle the painting. 
        base.Paint(graphics, clipBounds, cellBounds, rowIndex,
            elementState, value, formattedValue, errorText,
            cellStyle, advancedBorderStyle, paintParts);
    }
}

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

Supported in: 3.5, 3.0, 2.0

Community Additions

ADD
Show:
© 2014 Microsoft