DataGridViewCell.Paint Método

Definición

Pinta el objeto DataGridViewCell actual.

C#
protected virtual void Paint (System.Drawing.Graphics graphics, System.Drawing.Rectangle clipBounds, System.Drawing.Rectangle cellBounds, int rowIndex, System.Windows.Forms.DataGridViewElementStates cellState, object value, object formattedValue, string errorText, System.Windows.Forms.DataGridViewCellStyle cellStyle, System.Windows.Forms.DataGridViewAdvancedBorderStyle advancedBorderStyle, System.Windows.Forms.DataGridViewPaintParts paintParts);

Parámetros

graphics
Graphics

Graphics que se usa para pintar DataGridViewCell.

clipBounds
Rectangle

Rectangle que representa el área de DataGridView que se debe volver a pintar.

cellBounds
Rectangle

Rectangle que contiene los límites de la celda DataGridViewCell que se está pintando.

rowIndex
Int32

Índice de fila de la celda que se está dibujando.

cellState
DataGridViewElementStates

Combinación bit a bit de valores DataGridViewElementStates que especifica el estado de la celda.

value
Object

Datos de la celda DataGridViewCell que se está pintando.

formattedValue
Object

Datos con formato de la celda DataGridViewCell que se está pintando.

errorText
String

Mensaje de error asociado a la celda.

cellStyle
DataGridViewCellStyle

Clase DataGridViewCellStyle que contiene información de estilo y formato sobre la celda.

advancedBorderStyle
DataGridViewAdvancedBorderStyle

DataGridViewAdvancedBorderStyle que contiene los estilos de borde para la celda que se está pintando.

paintParts
DataGridViewPaintParts

Combinación bit a bit de los valores DataGridViewPaintParts que especifica las partes de la celda que se deben pintar.

Ejemplos

En el ejemplo de código siguiente se muestra cómo invalidar el Paint método de .DataGridViewButtonCell Este ejemplo de código forma parte de un ejemplo más grande proporcionado en How to: Disable Buttons in a Button Column in the Windows Forms DataGridView Control.

C#
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);
    }
}

Se aplica a

Producto Versiones
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

Consulte también