DataGridViewRowPostPaintEventArgs.Graphics Property

Definition

Gets the Graphics used to paint the current DataGridViewRow.

C#
public System.Drawing.Graphics Graphics { get; }

Property Value

The Graphics used to paint the current DataGridViewRow.

Examples

The following code example demonstrates how to use the Graphics property to paint a custom background. Although the code actually uses the DataGridViewRowPrePaintEventArgs.Graphics property, this property is nearly identical to the Graphics property of DataGridViewRowPostPaintEventArgs. The variable, e, is of type DataGridViewRowPrePaintEventArgs. This code example is part of a larger example provided in How to: Customize the Appearance of Rows in the Windows Forms DataGridView Control.

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

Remarks

The Graphics class provides properties and methods that are useful for custom drawing.

Applies to

Product Versions
.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

See also