投稿者 魔界の仮面弁士  (社会人) 投稿日時 2011/11/16 19:48:40
いろいろな方法がありますが、一例として。

Public Class Form1
    Private WithEvents dgv As DataGridView

    Private Sub Form1_Load(ByVal sender As ObjectByVal e As EventArgs) Handles Me.Load
        dgv = New DataGridView()
        dgv.AllowUserToAddRows = False
        'dgv.EditMode = DataGridViewEditMode.EditOnEnter 
        dgv.ColumnCount = 5
        dgv.RowCount = 100
        dgv.Dock = DockStyle.Fill
        dgv.DefaultCellStyle.BackColor = Color.Yellow
        dgv.DefaultCellStyle.SelectionBackColor = Color.Khaki
        Controls.Add(dgv)
    End Sub

    Private Sub dgv_CellFormatting(ByVal sender As Object, _
            ByVal e As DataGridViewCellFormattingEventArgs) Handles dgv.CellFormatting
        If e.RowIndex >= 0 AndAlso (e.RowIndex \ 2) Mod 2 = 0 Then
            e.CellStyle.BackColor = Color.GreenYellow
            e.CellStyle.SelectionBackColor = Color.LightGreen
        End If
    End Sub
End Class



上記のほか、「dgv.Rows( 行位置 ).DefaultCellStyle」をループ処理でセットするという方法もあります。
(ただしこの場合、ソート機能を使う場合は、並び替え処理後にスタイルの再セットが必要です)

あるいはスタイルを使う代わりに、RowPrePaint イベントに背景の描画処理を記述することも
できます。(この方法は、背景色をグラデーション表示させたい場合などに適しています)