DataGridView.RowPrePaint Olay

Tanım

Bir DataGridViewRow boyanmadan önce gerçekleşir.

C#
public event System.Windows.Forms.DataGridViewRowPrePaintEventHandler RowPrePaint;
C#
public event System.Windows.Forms.DataGridViewRowPrePaintEventHandler? RowPrePaint;

Olay Türü

Örnekler

Aşağıdaki kod örneği, satır seçilirse gradyan satır arka planını boyamak için olay işleyicisinin RowPrePaint nasıl kullanılacağını gösterir. Bu örnek, Nasıl yapılır: Windows Forms DataGridView Denetimindeki Satırların Görünümünü Özelleştirme bölümünde bulunan daha büyük bir örneğin parçasıdır.

C#
// 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);
        }
    }
}

Açıklamalar

Denetimdeki satırların görünümünü özelleştirmek için bu olayı tek başına veya olayla RowPostPaint birlikte işleyebilirsiniz. Satırların tamamını kendiniz boyayabilirsiniz veya satırların belirli bölümlerini boyayabilirsiniz ve diğer bölümleri boyamak için sınıfın DataGridViewRowPrePaintEventArgs aşağıdaki yöntemlerini kullanabilirsiniz:

Geçerli temayı kullanarak standart denetimleri boyamak için sınıfını da kullanabilirsiniz VisualStyleRenderer . Daha fazla bilgi için bkz . Görsel Stiller ile Denetimleri İşleme. Visual Studio 2005 kullanıyorsanız, denetimle birlikte kullanabileceğiniz büyük bir standart görüntü kitaplığına DataGridView da erişebilirsiniz.

Olayları işleme hakkında daha fazla bilgi için bkz. Olayları İşleme ve Oluşturma.

Şunlara uygulanır

Ürün Sürümler
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Ayrıca bkz.