Я не использовал CellFormatting
или CellPainting
много, но я думаю, что в этом случае CellFormatting
может быть лучшим вариантом. Этот пример работал для меня:
Private Sub DataGridView1_CellFormatting(sender As Object, e As DataGridViewCellFormattingEventArgs) Handles DataGridView1.CellFormatting
Dim cell = DataGridView1(e.ColumnIndex, e.RowIndex)
Select Case TryCast(cell.Value, String)
Case "C", "E", "F"
e.CellStyle.BackColor = Color.Red
End Select
End Sub
CellFormatting
повышается на ячейку, каждый раз, когда ячейка нуждается в форматировании. Это означает, что, в отличие от CellValueChanged
, он будет повышен при первоначальном создании ячейки.