DataGridViewRowPrePaintEventArgs.RowBounds Property

 

Get the bounds of the current DataGridViewRow.

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

public Rectangle RowBounds { get; }

Property Value

Type: System.Drawing.Rectangle

A Rectangle that represents the bounds of the current DataGridViewRow.

The width of the RowBounds property is the same as the width of the DataGridView. To get the width of the columns in the DataGridView, use the GetColumnsWidth method.

The following code example demonstrates how to use the RowBounds property to calculate the bounds of the row to paint a custom background. 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
Available since 2.0
Return to top
Show: