DataGridViewCell.Paint Method

Note: This method is new in the .NET Framework version 2.0.

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
)
protected void Paint (
	Graphics graphics, 
	Rectangle clipBounds, 
	Rectangle cellBounds, 
	int rowIndex, 
	DataGridViewElementStates cellState, 
	Object value, 
	Object formattedValue, 
	String errorText, 
	DataGridViewCellStyle cellStyle, 
	DataGridViewAdvancedBorderStyle advancedBorderStyle, 
	DataGridViewPaintParts paintParts
)
protected function Paint (
	graphics : Graphics, 
	clipBounds : Rectangle, 
	cellBounds : Rectangle, 
	rowIndex : int, 
	cellState : DataGridViewElementStates, 
	value : Object, 
	formattedValue : Object, 
	errorText : String, 
	cellStyle : DataGridViewCellStyle, 
	advancedBorderStyle : DataGridViewAdvancedBorderStyle, 
	paintParts : DataGridViewPaintParts
)

Parameters

graphics

The Graphics used to paint the DataGridViewCell.

clipBounds

A Rectangle that represents the area of the DataGridView that needs to be repainted.

cellBounds

A Rectangle that contains the bounds of the DataGridViewCell that is being painted.

rowIndex

The row index of the cell that is being painted.

cellState

A bitwise combination of DataGridViewElementStates values that specifies the state of the cell.

value

The data of the DataGridViewCell that is being painted.

formattedValue

The formatted data of the DataGridViewCell that is being painted.

errorText

An error message that is associated with the cell.

cellStyle

A DataGridViewCellStyle that contains formatting and style information about the cell.

advancedBorderStyle

A DataGridViewAdvancedBorderStyle that contains border styles for the cell that is being painted.

paintParts

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 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Supported in: 2.0

Community Additions

ADD
Show: