Compartir a través de


DataGridViewRowPrePaintEventArgs Clase

Definición

Proporciona datos para el evento RowPrePaint.

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

Ejemplos

En el ejemplo de código siguiente se muestra cómo controlar el RowPrePaint evento para dibujar un fondo personalizado para las celdas seleccionadas. Este ejemplo de código forma parte de un ejemplo más grande que se proporciona en How to: Customize the Appearance of Rows in the Windows Forms DataGridView Control.

// Paints the custom selection background for selected rows.
void dataGridView1_RowPrePaint(object sender,
        DataGridViewRowPrePaintEventArgs e)
{
    // Do not automatically paint the focus rectangle.
    e.PaintParts &= ~DataGridViewPaintParts.Focus;

    // Determine whether the cell should be painted
    // with the custom selection background.
    if ((e.State & DataGridViewElementStates.Selected) ==
                DataGridViewElementStates.Selected)
    {
        // Calculate the bounds of the row.
        Rectangle rowBounds = new Rectangle(
            this.dataGridView1.RowHeadersWidth, e.RowBounds.Top,
            this.dataGridView1.Columns.GetColumnsWidth(
                DataGridViewElementStates.Visible) -
            this.dataGridView1.HorizontalScrollingOffset + 1,
            e.RowBounds.Height);

        // Paint the custom selection background.
        using (Brush backbrush =
            new System.Drawing.Drawing2D.LinearGradientBrush(rowBounds,
                this.dataGridView1.DefaultCellStyle.SelectionBackColor,
                e.InheritedRowStyle.ForeColor,
                System.Drawing.Drawing2D.LinearGradientMode.Horizontal))
        {
            e.Graphics.FillRectangle(backbrush, rowBounds);
        }
    }
}
' Paints the custom selection background for selected rows.
Sub dataGridView1_RowPrePaint(ByVal sender As Object, _
    ByVal e As DataGridViewRowPrePaintEventArgs) _
    Handles dataGridView1.RowPrePaint

    ' Do not automatically paint the focus rectangle.
    e.PaintParts = e.PaintParts And Not DataGridViewPaintParts.Focus

    ' Determine whether the cell should be painted with the 
    ' custom selection background.
    If (e.State And DataGridViewElementStates.Selected) = _
        DataGridViewElementStates.Selected Then

        ' Calculate the bounds of the row.
        Dim rowBounds As New Rectangle( _
            Me.dataGridView1.RowHeadersWidth, e.RowBounds.Top, _
            Me.dataGridView1.Columns.GetColumnsWidth( _
            DataGridViewElementStates.Visible) - _
            Me.dataGridView1.HorizontalScrollingOffset + 1, _
            e.RowBounds.Height)

        ' Paint the custom selection background.
        Dim backbrush As New _
            System.Drawing.Drawing2D.LinearGradientBrush(rowBounds, _
            Me.dataGridView1.DefaultCellStyle.SelectionBackColor, _
            e.InheritedRowStyle.ForeColor, _
            System.Drawing.Drawing2D.LinearGradientMode.Horizontal)
        Try
            e.Graphics.FillRectangle(backbrush, rowBounds)
        Finally
            backbrush.Dispose()
        End Try
    End If

End Sub

Comentarios

El RowPrePaint evento se produce antes de que se pinte una fila en un DataGridView control . RowPrePaint permite ajustar manualmente la apariencia de la fila antes de que se pinte cualquiera de las celdas de la fila. Esto resulta útil si desea personalizar la fila, por ejemplo, para generar una fila en la que el contenido de una columna abarca varias columnas. Use las propiedades de DataGridViewRowPrePaintEventArgs para obtener la configuración de la fila sin tener acceso directo a la fila en DataGridView.

Constructores

DataGridViewRowPrePaintEventArgs(DataGridView, Graphics, Rectangle, Rectangle, Int32, DataGridViewElementStates, String, DataGridViewCellStyle, Boolean, Boolean)

Inicializa una nueva instancia de la clase DataGridViewRowPrePaintEventArgs.

Propiedades

ClipBounds

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

ErrorText

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

Graphics

Obtiene el objeto Graphics que se utiliza para dibujar la celda DataGridViewRow 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)
InheritedRowStyle

Obtiene el estilo de celda aplicado a la fila.

IsFirstDisplayedRow

Obtiene un valor que indica si la fila actual es la primera fila que se muestra actualmente en DataGridView.

IsLastVisibleRow

Obtiene un valor que indica si la fila actual es la última visible de DataGridView.

PaintParts

Partes de la celda que se van a dibujar.

RowBounds

Obtiene los límites de la celda DataGridViewRow actual.

RowIndex

Obtiene el índice de la fila DataGridViewRow actual.

State

Obtiene el estado de la celda DataGridViewRow actual.

Métodos

DrawFocus(Rectangle, Boolean)

Dibuja el rectángulo de foco alrededor de los límites especificados.

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)
PaintCells(Rectangle, DataGridViewPaintParts)

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

PaintCellsBackground(Rectangle, Boolean)

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

PaintCellsContent(Rectangle)

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

PaintHeader(Boolean)

Dibuja todo el encabezado de fila de la fila DataGridViewRow actual.

PaintHeader(DataGridViewPaintParts)

Dibuja las partes especificadas del encabezado de fila de la fila actual.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también