DataGridViewRowPrePaintEventArgs Classe

Définition

Fournit des données pour l'événement RowPrePaint.Provides data for the RowPrePaint event.

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 des cellules sélectionnées.The following code example demonstrates how to handle the RowPrePaint event to draw a custom background for selected cells. Cet exemple de code fait partie d’un exemple plus complet fourni dans Comment : personnaliser l’apparence des lignes dans le contrôle DataGridView Windows Forms.This code example is part of a larger example provided in 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 soit peinte sur un contrôle DataGridView.The RowPrePaint event occurs before a row is painted on a DataGridView control. RowPrePaint vous permet d’ajuster manuellement l’apparence de la ligne avant qu’une des cellules de la ligne ne soit peinte.RowPrePaint enables you to manually adjust the appearance of the row before any of the cells in the row are painted. 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.This is useful if you want to customize the row, such as to produce a row where the content of one column spans multiple columns. Utilisez les propriétés de DataGridViewRowPrePaintEventArgs pour récupérer les paramètres de la ligne sans accéder directement à la ligne du DataGridView.Use the properties in DataGridViewRowPrePaintEventArgs to get the settings of the row without directly accessing the row in the DataGridView.

Constructeurs

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

Initialise une nouvelle instance de la classe DataGridViewRowPrePaintEventArgs.Initializes a new instance of the DataGridViewRowPrePaintEventArgs class.

Propriétés

ClipBounds

Obtient ou définit la zone de DataGridView qui doit être repeinte.Gets or sets the area of the DataGridView that needs to be repainted.

ErrorText

Obtient une chaîne qui représente un message d'erreur pour le DataGridViewRow actif.Gets a string that represents an error message for the current DataGridViewRow.

Graphics

Obtient le Graphics utilisé pour peindre le DataGridViewRow actif.Gets the Graphics used to paint the current DataGridViewRow.

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.Gets or sets a value that indicates whether the event handler has completely handled the event or whether the system should continue its own processing.

(Hérité de HandledEventArgs)
InheritedRowStyle

Obtient le style de cellule appliqué à la ligne.Gets the cell style applied to the row.

IsFirstDisplayedRow

Obtient une valeur indiquant si la ligne active est la première ligne actuellement affichée dans DataGridView.Gets a value indicating whether the current row is the first row currently displayed in the DataGridView.

IsLastVisibleRow

Obtient une valeur indiquant si la ligne active est la dernière ligne visible dans DataGridView.Gets a value indicating whether the current row is the last visible row in the DataGridView.

PaintParts

Parties de cellule à peindre.The cell parts that are to be painted.

RowBounds

Obtient les limites du DataGridViewRow actif.Get the bounds of the current DataGridViewRow.

RowIndex

Obtient l'index du DataGridViewRow actif.Gets the index of the current DataGridViewRow.

State

Obtient l'état du DataGridViewRow actif.Gets the state of the current DataGridViewRow.

Méthodes

DrawFocus(Rectangle, Boolean)

Dessine le rectangle de focus autour des limites spécifiées.Draws the focus rectangle around the specified bounds.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

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

Peint les parties de cellule indiquées pour la zone contenue dans les limites spécifiées.Paints the specified cell parts for the area in the specified bounds.

PaintCellsBackground(Rectangle, Boolean)

Peint l'arrière-plan de la cellule pour la zone contenue dans les limites spécifiées.Paints the cell backgrounds for the area in the specified bounds.

PaintCellsContent(Rectangle)

Peint le contenu de la cellule pour la zone contenue dans les limites spécifiées.Paints the cell contents for the area in the specified bounds.

PaintHeader(Boolean)

Peint l'en-tête de ligne du DataGridViewRow actif.Paints the entire row header of the current DataGridViewRow.

PaintHeader(DataGridViewPaintParts)

Peint les parties spécifiées de l'en-tête de ligne pour la ligne active.Paints the specified parts of the row header of the current row.

ToString()

Retourne une chaîne qui représente l'objet actif.Returns a string that represents the current object.

(Hérité de Object)

S’applique à

Voir aussi