DataGridView.InvalidateRow(Int32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Invalidates the specified row of the DataGridView, forcing it to be repainted.
public:
void InvalidateRow(int rowIndex);
public void InvalidateRow (int rowIndex);
member this.InvalidateRow : int -> unit
Public Sub InvalidateRow (rowIndex As Integer)
Parameters
- rowIndex
- Int32
The index of the row to invalidate.
Exceptions
rowIndex
is not in the valid range of 0 to the number of rows minus 1.
Examples
The following code example illustrates how to use the InvalidateRow method in a row-painting scenario. In the example, the row is invalidated when the current cell changes, forcing the row to repaint itself.
This code is part of a larger example available in How to: Customize the Appearance of Rows in the Windows Forms DataGridView Control.
// Forces the row to repaint itself when the user changes the
// current cell. This is necessary to refresh the focus rectangle.
void dataGridView1_CurrentCellChanged(object sender, EventArgs e)
{
if (oldRowIndex != -1)
{
this.dataGridView1.InvalidateRow(oldRowIndex);
}
oldRowIndex = this.dataGridView1.CurrentCellAddress.Y;
}
' Forces the row to repaint itself when the user changes the
' current cell. This is necessary to refresh the focus rectangle.
Sub dataGridView1_CurrentCellChanged(ByVal sender As Object, _
ByVal e As EventArgs) Handles dataGridView1.CurrentCellChanged
If oldRowIndex <> -1 Then
Me.dataGridView1.InvalidateRow(oldRowIndex)
End If
oldRowIndex = Me.dataGridView1.CurrentCellAddress.Y
End Sub
Remarks
Use this method to force a row to repaint itself. This method is useful in owner-drawing scenarios where you handle the RowPrePaint or RowPostPaint events.
For more information about painting and invalidation, see Invalidate.