DataGridView.RowHeadersWidth Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the width, in pixels, of the column that contains the row headers.

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

Public Property RowHeadersWidth As Integer

Property Value

Type: System.Int32

The width, in pixels, of the column that contains row headers. The default is 43.

Exception Condition

The specified value when setting this property is less than the minimum width of 4 pixels or is greater than the maximum width of 32768 pixels.

The RowHeadersWidth property can be used to resize the row header column to a specified width. To adjust the width of this column to fit the contents of the row header cells, use the AutoResizeRowHeadersWidth method.

The following code example illustrates how to use the RowHeadersWidth property in a row-painting scenario. In the example, the value of this property is used to calculate the bounds within which a custom background is drawn.

This code is part of a larger example available inHow to: Customize the Appearance of Rows in the Windows Forms DataGridView Control.

' 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, _

        ' Paint the custom selection background.
        Dim backbrush As New _
            System.Drawing.Drawing2D.LinearGradientBrush(rowBounds, _
            Me.dataGridView1.DefaultCellStyle.SelectionBackColor, _
            e.InheritedRowStyle.ForeColor, _
            e.Graphics.FillRectangle(backbrush, rowBounds)
        End Try
    End If

End Sub 'dataGridView1_RowPrePaint

.NET Framework
Available since 2.0
Return to top