Comparteix a través de


DataGridViewCellPaintingEventArgs Clase

Definición

Proporciona datos para el evento CellPainting.

public ref class DataGridViewCellPaintingEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewCellPaintingEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewCellPaintingEventArgs = class
    inherit HandledEventArgs
Public Class DataGridViewCellPaintingEventArgs
Inherits HandledEventArgs
Herencia
DataGridViewCellPaintingEventArgs

Ejemplos

En el ejemplo de código siguiente se muestra el uso de este tipo. Para obtener más información, consulte Cómo: Personalizar la apariencia de las celdas en el control DataGridView de Windows Forms.

private void dataGridView1_CellPainting(object sender,
System.Windows.Forms.DataGridViewCellPaintingEventArgs e)
{
    if (this.dataGridView1.Columns["ContactName"].Index ==
        e.ColumnIndex && e.RowIndex >= 0)
    {
        Rectangle newRect = new Rectangle(e.CellBounds.X + 1,
            e.CellBounds.Y + 1, e.CellBounds.Width - 4,
            e.CellBounds.Height - 4);

        using (
            Brush gridBrush = new SolidBrush(this.dataGridView1.GridColor),
            backColorBrush = new SolidBrush(e.CellStyle.BackColor))
        {
            using (Pen gridLinePen = new Pen(gridBrush))
            {
                // Erase the cell.
                e.Graphics.FillRectangle(backColorBrush, e.CellBounds);

                // Draw the grid lines (only the right and bottom lines;
                // DataGridView takes care of the others).
                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left,
                    e.CellBounds.Bottom - 1, e.CellBounds.Right - 1,
                    e.CellBounds.Bottom - 1);
                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1,
                    e.CellBounds.Top, e.CellBounds.Right - 1,
                    e.CellBounds.Bottom);

                // Draw the inset highlight box.
                e.Graphics.DrawRectangle(Pens.Blue, newRect);

                // Draw the text content of the cell, ignoring alignment.
                if (e.Value != null)
                {
                    e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,
                        Brushes.Crimson, e.CellBounds.X + 2,
                        e.CellBounds.Y + 2, StringFormat.GenericDefault);
                }
                e.Handled = true;
            }
        }
    }
}
Private Sub dataGridView1_CellPainting(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) _
    Handles dataGridView1.CellPainting

    If Me.dataGridView1.Columns("ContactName").Index = _
        e.ColumnIndex AndAlso e.RowIndex >= 0 Then

        Dim newRect As New Rectangle(e.CellBounds.X + 1, e.CellBounds.Y + 1, _
            e.CellBounds.Width - 4, e.CellBounds.Height - 4)
        Dim backColorBrush As New SolidBrush(e.CellStyle.BackColor)
        Dim gridBrush As New SolidBrush(Me.dataGridView1.GridColor)
        Dim gridLinePen As New Pen(gridBrush)

        Try

            ' Erase the cell.
            e.Graphics.FillRectangle(backColorBrush, e.CellBounds)

            ' Draw the grid lines (only the right and bottom lines;
            ' DataGridView takes care of the others).
            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, _
                e.CellBounds.Bottom - 1, e.CellBounds.Right - 1, _
                e.CellBounds.Bottom - 1)
            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1, _
                e.CellBounds.Top, e.CellBounds.Right - 1, _
                e.CellBounds.Bottom)

            ' Draw the inset highlight box.
            e.Graphics.DrawRectangle(Pens.Blue, newRect)

            ' Draw the text content of the cell, ignoring alignment.
            If (e.Value IsNot Nothing) Then
                e.Graphics.DrawString(CStr(e.Value), e.CellStyle.Font, _
                Brushes.Crimson, e.CellBounds.X + 2, e.CellBounds.Y + 2, _
                StringFormat.GenericDefault)
            End If
            e.Handled = True

        Finally
            gridLinePen.Dispose()
            gridBrush.Dispose()
            backColorBrush.Dispose()
        End Try

    End If

End Sub

Comentarios

El CellPainting evento se genera para cada uno de los DataGridViewCell que están visibles en un DataGridView. Para mejorar el rendimiento, establezca las propiedades de para DataGridViewCellPaintingEventArgs cambiar la apariencia de la celda en lugar de acceder directamente a una celda de .DataGridView Si pinta manualmente la celda, establezca la HandledEventArgs.Handled propiedad trueen . Si no establece HandledEventArgs.Handledtrueen , la celda pintará sobre las personalizaciones.

Constructores

DataGridViewCellPaintingEventArgs(DataGridView, Graphics, Rectangle, Rectangle, Int32, Int32, DataGridViewElementStates, Object, Object, String, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle, DataGridViewPaintParts)

Inicializa una nueva instancia de la clase DataGridViewCellPaintingEventArgs.

Propiedades

AdvancedBorderStyle

Obtiene el estilo de borde de la celda DataGridViewCell actual.

CellBounds

Obtiene los límites de la celda DataGridViewCell actual.

CellStyle

Obtiene el estilo de celda de la celda DataGridViewCell actual.

ClipBounds

Obtiene el área de DataGridView que es necesario volver a dibujar.

ColumnIndex

Obtiene el índice de columna de la celda DataGridViewCell actual.

ErrorText

Obtiene una cadena que representa un mensaje de error para la celda DataGridViewCell actual.

FormattedValue

Obtiene el valor con formato de la celda DataGridViewCell actual.

Graphics

Obtiene el objeto Graphics que se utiliza para dibujar la celda DataGridViewCell actual.

Handled

Obtiene o establece un valor que indica si el controlador de eventos ha controlado completamente el evento o si el sistema debe continuar con su propio procesamiento.

(Heredado de HandledEventArgs)
PaintParts

Partes de la celda que se van a dibujar.

RowIndex

Obtiene el índice de fila de la celda DataGridViewCell actual.

State

Obtiene el estado de la celda DataGridViewCell actual.

Value

Obtiene el valor de la celda DataGridViewCell actual.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
Paint(Rectangle, DataGridViewPaintParts)

Dibuja las partes especificadas de la celda para el área comprendida entre los límites especificados.

PaintBackground(Rectangle, Boolean)

Pinta el fondo de celda del área comprendida entre los límites especificados.

PaintContent(Rectangle)

Dibuja el contenido de celda del área comprendida entre los límites especificados.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también