DataGridView.InvalidateRow(Int32) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
使 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
注解
使用此方法可强制重新绘制行本身。 此方法在处理 RowPrePaint 或 RowPostPaint 事件的所有者绘图方案中很有用。
有关绘制和失效的详细信息,请参阅 Invalidate。