Partager via


DataGridViewCellPaintingEventArgs Classe

Définition

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

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

Exemples

L’exemple de code suivant illustre l’utilisation de ce type. Pour plus d’informations, consultez Guide pratique pour personnaliser l’apparence des cellules dans le contrôle DataGridView Windows Forms.

private void dataGridView1_CellPainting(object sender,
System.Windows.Forms.DataGridViewCellPaintingEventArgs e)
{
    if (this.dataGridView1.Columns["ContactName"].Index ==
        e.ColumnIndex && e.RowIndex >= 0)
    {
        Rectangle newRect = new Rectangle(e.CellBounds.X + 1,
            e.CellBounds.Y + 1, e.CellBounds.Width - 4,
            e.CellBounds.Height - 4);

        using (
            Brush gridBrush = new SolidBrush(this.dataGridView1.GridColor),
            backColorBrush = new SolidBrush(e.CellStyle.BackColor))
        {
            using (Pen gridLinePen = new Pen(gridBrush))
            {
                // Erase the cell.
                e.Graphics.FillRectangle(backColorBrush, e.CellBounds);

                // Draw the grid lines (only the right and bottom lines;
                // DataGridView takes care of the others).
                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left,
                    e.CellBounds.Bottom - 1, e.CellBounds.Right - 1,
                    e.CellBounds.Bottom - 1);
                e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1,
                    e.CellBounds.Top, e.CellBounds.Right - 1,
                    e.CellBounds.Bottom);

                // Draw the inset highlight box.
                e.Graphics.DrawRectangle(Pens.Blue, newRect);

                // Draw the text content of the cell, ignoring alignment.
                if (e.Value != null)
                {
                    e.Graphics.DrawString((String)e.Value, e.CellStyle.Font,
                        Brushes.Crimson, e.CellBounds.X + 2,
                        e.CellBounds.Y + 2, StringFormat.GenericDefault);
                }
                e.Handled = true;
            }
        }
    }
}
Private Sub dataGridView1_CellPainting(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.DataGridViewCellPaintingEventArgs) _
    Handles dataGridView1.CellPainting

    If Me.dataGridView1.Columns("ContactName").Index = _
        e.ColumnIndex AndAlso e.RowIndex >= 0 Then

        Dim newRect As New Rectangle(e.CellBounds.X + 1, e.CellBounds.Y + 1, _
            e.CellBounds.Width - 4, e.CellBounds.Height - 4)
        Dim backColorBrush As New SolidBrush(e.CellStyle.BackColor)
        Dim gridBrush As New SolidBrush(Me.dataGridView1.GridColor)
        Dim gridLinePen As New Pen(gridBrush)

        Try

            ' Erase the cell.
            e.Graphics.FillRectangle(backColorBrush, e.CellBounds)

            ' Draw the grid lines (only the right and bottom lines;
            ' DataGridView takes care of the others).
            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Left, _
                e.CellBounds.Bottom - 1, e.CellBounds.Right - 1, _
                e.CellBounds.Bottom - 1)
            e.Graphics.DrawLine(gridLinePen, e.CellBounds.Right - 1, _
                e.CellBounds.Top, e.CellBounds.Right - 1, _
                e.CellBounds.Bottom)

            ' Draw the inset highlight box.
            e.Graphics.DrawRectangle(Pens.Blue, newRect)

            ' Draw the text content of the cell, ignoring alignment.
            If (e.Value IsNot Nothing) Then
                e.Graphics.DrawString(CStr(e.Value), e.CellStyle.Font, _
                Brushes.Crimson, e.CellBounds.X + 2, e.CellBounds.Y + 2, _
                StringFormat.GenericDefault)
            End If
            e.Handled = True

        Finally
            gridLinePen.Dispose()
            gridBrush.Dispose()
            backColorBrush.Dispose()
        End Try

    End If

End Sub

Remarques

L’événement CellPainting est déclenché pour chaque DataGridViewCell élément visible sur un DataGridView. Pour améliorer les performances, définissez les propriétés dans un DataGridViewCellPaintingEventArgs pour modifier l’apparence de la cellule au lieu d’accéder directement à une cellule dans .DataGridView Si vous peignez manuellement la cellule, définissez la propriété sur HandledEventArgs.Handledtrue. Si vous n’avez pas la truevaleur HandledEventArgs.Handled , la cellule va peindre vos personnalisations.

Constructeurs

DataGridViewCellPaintingEventArgs(DataGridView, Graphics, Rectangle, Rectangle, Int32, Int32, DataGridViewElementStates, Object, Object, String, DataGridViewCellStyle, DataGridViewAdvancedBorderStyle, DataGridViewPaintParts)

Initialise une nouvelle instance de la classe DataGridViewCellPaintingEventArgs.

Propriétés

AdvancedBorderStyle

Obtient le style de bordure du DataGridViewCell actif.

CellBounds

Obtient les limites du DataGridViewCell actif.

CellStyle

Obtient le style de cellule du DataGridViewCell actif.

ClipBounds

Obtient la zone de DataGridView qui doit être repeinte.

ColumnIndex

Obtient l'index de colonne du DataGridViewCell actif.

ErrorText

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

FormattedValue

Obtient la valeur mise en forme du DataGridViewCell actif.

Graphics

Obtient le Graphics utilisé pour peindre le DataGridViewCell 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)
PaintParts

Parties de la cellule devant être peintes.

RowIndex

Obtient l'index de ligne du DataGridViewCell actif.

State

Obtient l'état du DataGridViewCell actif.

Value

Obtient la valeur du DataGridViewCell actif.

Méthodes

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

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

PaintBackground(Rectangle, Boolean)

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

PaintContent(Rectangle)

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

ToString()

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

(Hérité de Object)

S’applique à

Voir aussi