Freigeben über


DataGridViewCellPaintingEventArgs Klasse

Definition

Stellt Daten für das CellPainting-Ereignis bereit.

public ref class DataGridViewCellPaintingEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewCellPaintingEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewCellPaintingEventArgs = class
    inherit HandledEventArgs
Public Class DataGridViewCellPaintingEventArgs
Inherits HandledEventArgs
Vererbung
DataGridViewCellPaintingEventArgs

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieses Typs veranschaulicht. Weitere Informationen finden Sie unter Vorgehensweise: Anpassen der Darstellung von Zellen im DataGridView-Steuerelement in 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

Hinweise

Das CellPainting -Ereignis wird für jedes DataGridViewCell ausgelöst, das auf einem DataGridViewsichtbar ist. Um die Leistung zu verbessern, legen Sie die Eigenschaften in einem fest DataGridViewCellPaintingEventArgs , um das Erscheinungsbild der Zelle zu ändern, anstatt direkt auf eine Zelle in zuzugreifen DataGridView. Wenn Sie die Zelle manuell zeichnen, legen Sie die HandledEventArgs.Handled -Eigenschaft auf truefest. Wenn Sie nicht auf truefestlegenHandledEventArgs.Handled, überstreicht die Zelle Ihre Anpassungen.

Konstruktoren

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

Initialisiert eine neue Instanz der DataGridViewCellPaintingEventArgs-Klasse.

Eigenschaften

AdvancedBorderStyle

Ruft die Rahmenart der aktuellen DataGridViewCell ab.

CellBounds

Ruft die Grenzen der aktuellen DataGridViewCell ab.

CellStyle

Ruft den Zellstil der aktuellen DataGridViewCell ab.

ClipBounds

Ruft den Bereich der DataGridView ab, der neu gezeichnet werden muss.

ColumnIndex

Ruft den Spaltenindex der aktuellen DataGridViewCell ab.

ErrorText

Ruft eine Zeichenfolge ab, die eine Fehlermeldung für die aktuelle DataGridViewCell darstellt.

FormattedValue

Ruft den formatierten Wert der aktuellen DataGridViewCell ab.

Graphics

Ruft die Graphics ab, mit der die aktuelle DataGridViewCell gezeichnet wird.

Handled

Ruft einen Wert ab, der angibt, ob der Ereignishandler das Ereignis vollständig behandelt hat oder ob das System mit der eigenen Verarbeitung fortfahren soll, oder legt diesen Wert fest.

(Geerbt von HandledEventArgs)
PaintParts

Die zu zeichnenden Zellteile.

RowIndex

Ruft den Spaltenindex der aktuellen DataGridViewCell ab.

State

Ruft den Zustand der aktuellen DataGridViewCell ab.

Value

Ruft den Wert der aktuellen DataGridViewCell ab.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
Paint(Rectangle, DataGridViewPaintParts)

Zeichnet die angegebenen Teile der Zelle für den Bereich in den angegebenen Grenzen.

PaintBackground(Rectangle, Boolean)

Zeichnet den Zellhintergrund für den Bereich in den angegebenen Grenzen.

PaintContent(Rectangle)

Zeichnet den Zellinhalt für den Bereich in den angegebenen Grenzen.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen