Partager via


DataGridViewRowPrePaintEventArgs Classe

Définition

Fournit des données pour l'événement RowPrePaint.

public ref class DataGridViewRowPrePaintEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewRowPrePaintEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewRowPrePaintEventArgs = class
    inherit HandledEventArgs
Public Class DataGridViewRowPrePaintEventArgs
Inherits HandledEventArgs
Héritage
DataGridViewRowPrePaintEventArgs

Exemples

L’exemple de code suivant montre comment gérer l’événement RowPrePaint pour dessiner un arrière-plan personnalisé pour les cellules sélectionnées. Cet exemple de code fait partie d’un exemple plus large fourni dans 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

Remarques

L’événement RowPrePaint se produit avant qu’une ligne ne soit peinte sur un DataGridView contrôle. RowPrePaint vous permet d’ajuster manuellement l’apparence de la ligne avant que l’une des cellules de la ligne ne soit peinte. Cela est utile si vous souhaitez personnaliser la ligne, par exemple pour produire une ligne où le contenu d’une colonne s’étend sur plusieurs colonnes. Utilisez les propriétés dans DataGridViewRowPrePaintEventArgs pour obtenir les paramètres de la ligne sans accéder directement à la ligne dans le DataGridView.

Constructeurs

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

Initialise une nouvelle instance de la classe DataGridViewRowPrePaintEventArgs.

Propriétés

ClipBounds

Obtient ou définit la zone de DataGridView qui doit être repeinte.

ErrorText

Obtient une chaîne qui représente un message d'erreur pour le DataGridViewRow actif.

Graphics

Obtient le Graphics utilisé pour peindre le DataGridViewRow actif.

Handled

Obtient ou définit une valeur qui indique si le gestionnaire d'événements a complètement géré l'événement ou si le système doit continuer son propre traitement.

(Hérité de HandledEventArgs)
InheritedRowStyle

Obtient le style de cellule appliqué à la ligne.

IsFirstDisplayedRow

Obtient une valeur indiquant si la ligne active est la première ligne actuellement affichée dans DataGridView.

IsLastVisibleRow

Obtient une valeur indiquant si la ligne active est la dernière ligne visible dans DataGridView.

PaintParts

Parties de la cellule devant être peintes.

RowBounds

Obtient les limites du DataGridViewRow actif.

RowIndex

Obtient l'index du DataGridViewRow actif.

State

Obtient l'état du DataGridViewRow actif.

Méthodes

DrawFocus(Rectangle, Boolean)

Dessine le rectangle de focus autour des limites spécifiées.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
PaintCells(Rectangle, DataGridViewPaintParts)

Peint les parties de cellule indiquées pour la zone contenue dans les limites spécifiées.

PaintCellsBackground(Rectangle, Boolean)

Peint l'arrière-plan de la cellule pour la zone contenue dans les limites spécifiées.

PaintCellsContent(Rectangle)

Peint le contenu de la cellule pour la zone contenue dans les limites spécifiées.

PaintHeader(Boolean)

Peint l'en-tête de ligne du DataGridViewRow actif.

PaintHeader(DataGridViewPaintParts)

Peint les parties spécifiées de l'en-tête de ligne pour la ligne active.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi