Поделиться через


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

Комментарии

Используйте этот метод, чтобы принудительно перекрасить строку. Этот метод полезен в сценариях рисования владельцем, где вы обрабатываете RowPrePaint события или RowPostPaint .

Дополнительные сведения о рисовании и аннулировании см. в разделе Invalidate.

Применяется к

См. также раздел