DataGridViewRowPrePaintEventArgs Classe

Definição

Fornece dados para o evento de RowPrePaint .

public ref class DataGridViewRowPrePaintEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewRowPrePaintEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewRowPrePaintEventArgs = class
    inherit HandledEventArgs
Public Class DataGridViewRowPrePaintEventArgs
Inherits HandledEventArgs
Herança
DataGridViewRowPrePaintEventArgs

Exemplos

O exemplo de código a seguir demonstra como manipular o RowPrePaint evento para desenhar uma tela de fundo personalizada para células selecionadas. Este exemplo de código faz parte de um exemplo maior fornecido em 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

Comentários

O RowPrePaint evento ocorre antes de uma linha ser pintada em um DataGridView controle . RowPrePaint permite ajustar manualmente a aparência da linha antes que qualquer uma das células na linha seja pintada. Isso é útil se você quiser personalizar a linha, como produzir uma linha em que o conteúdo de uma coluna abrange várias colunas. Use as propriedades em DataGridViewRowPrePaintEventArgs para obter as configurações da linha sem acessar diretamente a linha no DataGridView.

Construtores

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

Inicializa uma nova instância da classe DataGridViewRowPrePaintEventArgs.

Propriedades

ClipBounds

Obtém ou define a área do DataGridView que precisa ser pintada novamente.

ErrorText

Obtém uma cadeia de caracteres que representa uma mensagem de erro para o DataGridViewRow atual.

Graphics

Obtém o Graphics usado para pintar o DataGridViewRow atual.

Handled

Obtém ou define um valor que indica se o manipulador de eventos tratou completamente o evento ou se o sistema deve continuar seu próprio processamento.

(Herdado de HandledEventArgs)
InheritedRowStyle

Obtém o estilo de célula aplicado à linha.

IsFirstDisplayedRow

Obtém um valor que indica se a linha atual é a primeira linha exibida no momento no DataGridView.

IsLastVisibleRow

Obtém um valor que indica se a linha atual é a última exibida no DataGridView.

PaintParts

As partes da célula que devem ser pintadas.

RowBounds

Obter os limites da DataGridViewRow atual.

RowIndex

Obtém o índice do DataGridViewRow atual.

State

Obtém o estado do DataGridViewRow atual.

Métodos

DrawFocus(Rectangle, Boolean)

Desenha o retângulo de foco em torno dos limites especificados.

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
PaintCells(Rectangle, DataGridViewPaintParts)

Pinta as partes da célula especificada para a área nos limites especificados.

PaintCellsBackground(Rectangle, Boolean)

Pinta as telas de fundo da célula da área nos limites especificados.

PaintCellsContent(Rectangle)

Pinta o conteúdo da célula da área nos limites especificados.

PaintHeader(Boolean)

Pinta o cabeçalho da linha inteira do DataGridViewRow atual.

PaintHeader(DataGridViewPaintParts)

Pinta as partes específicas do cabeçalho da linha atual.

ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também