Imports System
Imports System.Drawing
Imports System.Drawing.Imaging
Imports System.Windows.Forms
Public Class MyForm
Inherits Form
WithEvents dgv As DataGridView
' DataGridViewのRowPostPaintイベント・ハンドラ
Sub dgv_RowPostPaint(sender As Object, e As DataGridViewRowPostPaintEventArgs) Handles dgv.RowPostPaint
' 行ヘッダのセル領域を、行番号を描画する長方形とする
' (ただし右端に4ドットのすき間を空ける)
Dim rect As New Rectangle( _
e.RowBounds.Location.X, _
e.RowBounds.Location.Y, _
dgv.RowHeadersWidth - 4, _
dgv.Rows(e.RowIndex).Height)
' 上記の長方形内に行番号を縦方向中央&右詰で描画する
' フォントや色は行ヘッダの既定値を使用する
TextRenderer.DrawText( _
e.Graphics, _
(e.RowIndex + 1).ToString(), _
dgv.RowHeadersDefaultCellStyle.Font, _
rect, _
dgv.RowHeadersDefaultCellStyle.ForeColor, _
TextFormatFlags.VerticalCenter Or TextFormatFlags.Right)
End Sub
' フォームのLoadイベント・ハンドラ
Sub MyForm_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' データソースとして画像デコーダ一覧を使用
dgv.DataSource = ImageCodecInfo.GetImageDecoders()
End Sub
' フォームのコンストラクタ
Public Sub New()
dgv = New DataGridView()
dgv.Dock = DockStyle.Fill
Me.Controls.Add(dgv)
Me.Size = new Size(480, 240)
End Sub
End Class