Sdílet prostřednictvím


DataGridViewRowPrePaintEventArgs Třída

Definice

Poskytuje data pro událost RowPrePaint.

public ref class DataGridViewRowPrePaintEventArgs : System::ComponentModel::HandledEventArgs
public class DataGridViewRowPrePaintEventArgs : System.ComponentModel.HandledEventArgs
type DataGridViewRowPrePaintEventArgs = class
    inherit HandledEventArgs
Public Class DataGridViewRowPrePaintEventArgs
Inherits HandledEventArgs
Dědičnost
DataGridViewRowPrePaintEventArgs

Příklady

Následující příklad kódu ukazuje, jak zpracovat RowPrePaint událost pro vykreslení vlastního pozadí pro vybrané buňky. Tento příklad kódu je součástí většího příkladu v části Postupy: Přizpůsobení vzhledu řádků v ovládacím prvku model Windows Forms DataGridView.

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

Poznámky

Událost RowPrePaint nastane předtím, než je na ovládacím DataGridView prvku namalován řádek. RowPrePaint umožňuje ručně upravit vzhled řádku před namalováním kterékoli z buněk v řádku. To je užitečné, pokud chcete přizpůsobit řádek, například vytvořit řádek, kde obsah jednoho sloupce pokrývá více sloupců. Pomocí vlastností v souboru DataGridViewRowPrePaintEventArgs získáte nastavení řádku bez přímého přístupu k řádku v objektu DataGridView.

Konstruktory

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

Inicializuje novou instanci DataGridViewRowPrePaintEventArgs třídy.

Vlastnosti

ClipBounds

Získá nebo nastaví oblast DataGridView , která je třeba překreslovat.

ErrorText

Získá řetězec, který představuje chybovou zprávu pro aktuální DataGridViewRow.

Graphics

Graphics Získá použité k malování aktuální DataGridViewRow.

Handled

Získá nebo nastaví hodnotu, která označuje, zda obslužná rutina události zcela zpracovala událost nebo zda systém má pokračovat ve vlastním zpracování.

(Zděděno od HandledEventArgs)
InheritedRowStyle

Získá styl buňky použitý na řádek.

IsFirstDisplayedRow

Získá hodnotu označující, zda je aktuální řádek prvním řádkem aktuálně zobrazeným DataGridViewv souboru .

IsLastVisibleRow

Získá hodnotu označující, zda je aktuální řádek posledním viditelným řádkem DataGridViewv .

PaintParts

Části buněk, které se mají namalovat.

RowBounds

Získejte hranice aktuálního DataGridViewRowsouboru .

RowIndex

Získá index aktuálního DataGridViewRowobjektu .

State

Získá stav aktuálního DataGridViewRow.

Metody

DrawFocus(Rectangle, Boolean)

Nakreslí obdélník fokusu kolem zadaných hranic.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
PaintCells(Rectangle, DataGridViewPaintParts)

Vykreslí zadané části buňky pro oblast v zadaných mezích.

PaintCellsBackground(Rectangle, Boolean)

Vykreslí pozadí buňky pro oblast v určených mezích.

PaintCellsContent(Rectangle)

Vykreslí obsah buňky pro oblast v zadaných mezích.

PaintHeader(Boolean)

Vykreslí celé záhlaví řádku aktuálního DataGridViewRow.

PaintHeader(DataGridViewPaintParts)

Vykreslí zadané části záhlaví řádku aktuálního řádku.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také