DataGridView.InvalidateRow(Int32) 方法

定义

使 DataGridView 中的指定行无效,并强制对它进行重新绘制。

public:
 void InvalidateRow(int rowIndex);
public void InvalidateRow (int rowIndex);
member this.InvalidateRow : int -> unit
Public Sub InvalidateRow (rowIndex As Integer)

参数

rowIndex
Int32

要使其无效的行的索引。

例外

rowIndex 不在 0 到行数减 1 的有效范围内。

示例

下面的代码示例演示如何在行绘制方案中使用 InvalidateRow 方法。 在此示例中,当当前单元格发生更改时,该行将失效,从而强制重新绘制行本身。

此代码是How to: Customize the Appearance of Rows in the Windows 窗体 DataGridView 控件中提供的更大示例的一部分。

// 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

注解

使用此方法可强制重新绘制行本身。 此方法在处理 RowPrePaintRowPostPaint 事件的所有者绘图方案中很有用。

有关绘制和失效的详细信息,请参阅 Invalidate

适用于

另请参阅