Export (0) Print
Expand All

DataGridViewRowPrePaintEventArgs.InheritedRowStyle Property

Gets the cell style applied to the row.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public DataGridViewCellStyle InheritedRowStyle { get; }

Property Value

Type: System.Windows.Forms.DataGridViewCellStyle
A DataGridViewCellStyle that contains the cell style currently applied to the row.

The InheritedRowStyle property contains the same values as the row's InheritedStyle property. Directly accessing a DataGridViewRow in the DataGridView can affect performance. Use InheritedRowStyle in the RowPrePaint event to avoid unsharing the row and maintain optimal performance.

The InheritedRowStyle property is read-only. Although you can set the properties of the DataGridViewCellStyle retrieved through the InheritedRowStyle property, the new settings will have no effect.

The following code example demonstrates how to use the InheritedRowStyle property to paint a custom background for the selected row. 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.

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

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft