DataGridViewRowPrePaintEventArgs Klass

Definition

Innehåller data för RowPrePaint händelsen.

public ref class DataGridViewRowPrePaintEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewRowPrePaintEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewRowPrePaintEventArgs = class
    inherit HandledEventArgs
Public Class DataGridViewRowPrePaintEventArgs
Inherits HandledEventArgs
Arv
DataGridViewRowPrePaintEventArgs

Exempel

I följande kodexempel visas hur du RowPrePaint hanterar händelsen för att rita en anpassad bakgrund för markerade celler. Det här kodexemplet är en del av ett större exempel i Så här: Anpassa utseendet på rader i 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

Kommentarer

Händelsen RowPrePaint inträffar innan en rad målas på en DataGridView kontroll. RowPrePaint gör att du kan justera utseendet på raden manuellt innan någon av cellerna i raden målas. Det här är användbart om du vill anpassa raden, till exempel för att skapa en rad där innehållet i en kolumn sträcker sig över flera kolumner. Använd egenskaperna i DataGridViewRowPrePaintEventArgs för att hämta inställningarna för raden utan direkt åtkomst till raden i DataGridView.

Konstruktorer

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

Initierar en ny instans av DataGridViewRowPrePaintEventArgs klassen.

Egenskaper

Name Description
ClipBounds

Hämtar eller anger området för DataGridView det som behöver målas om.

ErrorText

Hämtar en sträng som representerar ett felmeddelande för den aktuella DataGridViewRow.

Graphics

Hämtar den Graphics som används för att måla den aktuella DataGridViewRow.

Handled

Hämtar eller anger ett värde som anger om händelsehanteraren har hanterat händelsen helt eller om systemet ska fortsätta sin egen bearbetning.

(Ärvd från HandledEventArgs)
InheritedRowStyle

Hämtar cellformatet som tillämpas på raden.

IsFirstDisplayedRow

Hämtar ett värde som anger om den aktuella raden är den första raden som visas i DataGridView.

IsLastVisibleRow

Hämtar ett värde som anger om den aktuella raden är den sista synliga raden i DataGridView.

PaintParts

Celldelarna som ska målas.

RowBounds

Hämta gränserna för den aktuella DataGridViewRow.

RowIndex

Hämtar indexet för den aktuella DataGridViewRow.

State

Hämtar tillståndet för den aktuella DataGridViewRow.

Metoder

Name Description
DrawFocus(Rectangle, Boolean)

Ritar fokusrektangeln runt de angivna gränserna.

Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
PaintCells(Rectangle, DataGridViewPaintParts)

Målar de angivna celldelarna för området inom de angivna gränserna.

PaintCellsBackground(Rectangle, Boolean)

Målar cellbakgrunderna för området inom de angivna gränserna.

PaintCellsContent(Rectangle)

Målar cellinnehållet för området inom de angivna gränserna.

PaintHeader(Boolean)

Målar hela radrubriken för den aktuella DataGridViewRow.

PaintHeader(DataGridViewPaintParts)

Målar de angivna delarna av radrubriken på den aktuella raden.

ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även