Teilen über


DataGridViewPaintParts Enumeration

Definition

Definiert Werte, mit denen die Teile einer DataGridViewCell angegeben werden, die gezeichnet werden sollen.

Diese Enumeration unterstützt eine bitweise Kombination ihrer Memberwerte.

public enum class DataGridViewPaintParts
[System.Flags]
public enum DataGridViewPaintParts
[<System.Flags>]
type DataGridViewPaintParts = 
Public Enum DataGridViewPaintParts
Vererbung
DataGridViewPaintParts
Attribute

Felder

All 127

Alle Teile der Zelle sollen gezeichnet werden.

Background 1

Der Hintergrund der Zelle soll gezeichnet werden.

Border 2

Der Rahmen der Zelle soll gezeichnet werden.

ContentBackground 4

Der Hintergrund des Zelleninhalts soll gezeichnet werden.

ContentForeground 8

Der Vordergrund des Zelleninhalts soll gezeichnet werden.

ErrorIcon 16

Das Fehlersymbol der Zelle soll gezeichnet werden.

Focus 32

Das Fokusrechteck um die Zelle soll gezeichnet werden.

None 0

Es soll nichts gezeichnet werden.

SelectionBackground 64

Der Hintergrund der Zelle soll gezeichnet werden, wenn die Zelle ausgewählt ist.

Beispiele

Im folgenden Codebeispiel wird die Verwendung dieses Typs veranschaulicht. Dieses Beispiel ist Teil eines größeren Beispiels, das unter Gewusst wie: Anpassen der Darstellung von Zeilen im Windows Forms DataGridView-Steuerelements verfügbar ist.

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

Hinweise

Diese Enumeration wird von der geschützten DataGridViewCell.Paint Methode und von Handlern für die CellPaintingEreignisse , RowPrePaintund RowPostPaint des DataGridView -Steuerelements verwendet.

Gilt für:

Weitere Informationen