DataGridViewRowPrePaintEventArgs Classe

Definizione

Fornisce i dati per l'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
Ereditarietà
DataGridViewRowPrePaintEventArgs

Esempio

Nell'esempio di codice seguente viene illustrato come gestire l'evento RowPrePaint per disegnare uno sfondo personalizzato per le celle selezionate. Questo esempio di codice fa parte di un esempio più ampio fornito in Procedura: Personalizzare l'aspetto delle righe nel controllo DataGridView Windows Forms.

// 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

Commenti

L'evento RowPrePaint si verifica prima che una riga venga disegnata su un DataGridView controllo . RowPrePaint consente di regolare manualmente l'aspetto della riga prima che una delle celle della riga venga disegnata. Ciò è utile se si desidera personalizzare la riga, ad esempio per produrre una riga in cui il contenuto di una colonna si estende su più colonne. Usare le proprietà in DataGridViewRowPrePaintEventArgs per ottenere le impostazioni della riga senza accedere direttamente alla riga in DataGridView.

Costruttori

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

Inizializza una nuova istanza della classe DataGridViewRowPrePaintEventArgs.

Proprietà

ClipBounds

Ottiene o imposta l'area del controllo DataGridView da ridisegnare.

ErrorText

Ottiene una stringa che rappresenta un messaggio di errore per il controllo DataGridViewRow corrente.

Graphics

Ottiene la struttura Graphics utilizzata per disegnare il controllo DataGridViewRow.

Handled

Ottiene o imposta un valore che indica se il gestore eventi ha gestito completamente l'evento o se il sistema deve proseguire la propria elaborazione.

(Ereditato da HandledEventArgs)
InheritedRowStyle

Ottiene lo stile della cella applicato alla riga.

IsFirstDisplayedRow

Ottiene un valore che indica se la riga corrente è la prima riga attualmente visualizzata nel controllo DataGridView.

IsLastVisibleRow

Ottiene un valore che indica se la riga corrente è l'ultima riga visibile nel controllo DataGridView.

PaintParts

Parti della cella da disegnare.

RowBounds

Ottiene i limiti del controllo DataGridViewRow corrente.

RowIndex

Ottiene l'indice del controllo DataGridViewRow corrente.

State

Ottiene lo stato del controllo DataGridViewRow corrente.

Metodi

DrawFocus(Rectangle, Boolean)

Disegna il rettangolo di attivazione intorno ai limiti specificati.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
PaintCells(Rectangle, DataGridViewPaintParts)

Disegna le parti della cella specificate per l'area compresa nei limiti specificati.

PaintCellsBackground(Rectangle, Boolean)

Disegna gli sfondi della cella per l'area compresa nei limiti specificati.

PaintCellsContent(Rectangle)

Disegna il contenuto della cella per l'area compresa nei limiti specificati.

PaintHeader(Boolean)

Disegna l'intera intestazione di riga del controllo DataGridViewRow corrente.

PaintHeader(DataGridViewPaintParts)

Disegna le parti specificate dell'intestazioni di riga della riga corrente.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)

Si applica a

Vedi anche