DataGridViewのフォントを設定する方法をご紹介します。
DataGridView全体のフォントサイズ設定
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'ユーザーからのデータ追加を不可にしておく
DataGridView1.AllowUserToAddRows = False
'列数,行数設定
DataGridView1.ColumnCount = 4
DataGridView1.RowCount = 4
'列名設定
DataGridView1.Columns(0).HeaderText = "No"
DataGridView1.Columns(1).HeaderText = "商品名"
DataGridView1.Columns(2).HeaderText = "製造元"
DataGridView1.Columns(3).HeaderText = "価格"
'値をセット
DataGridView1.Rows(0).HeaderCell.Value = "ヘッダー1"
DataGridView1.Rows(0).Cells(0).Value = 1
DataGridView1.Rows(0).Cells(1).Value = "商品A"
DataGridView1.Rows(0).Cells(2).Value = "製造元A"
DataGridView1.Rows(0).Cells(3).Value = 1000
DataGridView1.Rows(1).HeaderCell.Value = "ヘッダー2"
DataGridView1.Rows(1).Cells(0).Value = 2
DataGridView1.Rows(1).Cells(1).Value = "商品B"
DataGridView1.Rows(1).Cells(2).Value = "製造元B"
DataGridView1.Rows(1).Cells(3).Value = 3000
DataGridView1.Rows(2).HeaderCell.Value = "ヘッダー3"
DataGridView1.Rows(2).Cells(0).Value = 3
DataGridView1.Rows(2).Cells(1).Value = "商品C"
DataGridView1.Rows(2).Cells(2).Value = "製造元C"
DataGridView1.Rows(2).Cells(3).Value = 5000
DataGridView1.Rows(3).HeaderCell.Value = "ヘッダー4"
DataGridView1.Rows(3).Cells(0).Value = 4
DataGridView1.Rows(3).Cells(1).Value = "商品D"
DataGridView1.Rows(3).Cells(2).Value = "製造元D"
DataGridView1.Rows(3).Cells(3).Value = 10000
'列ヘッダーの高さが自動調整されるようにする
DataGridView1.ColumnHeadersHeightSizeMode =
DataGridViewColumnHeadersHeightSizeMode.AutoSize
'行ヘッダーの幅が自動調整されるようにする
DataGridView1.RowHeadersWidthSizeMode =
DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders
'ヘッダーとすべてのセルの内容に合わせて列幅を自動調整する
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
'ヘッダーとすべてのセルの内容に合わせて行高を自動調整する
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
DataGridView1.Font = New Font(“MS ゴシック”, 20)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
DataGridView1.Font = New Font(“MS ゴシック”, 8)
End Sub
End Class
DataGridView全体のフォントサイズを設定するには、
DataGridView.Fontを使います。
DataGridView1.Font = New Font(“MS ゴシック”, 20)
Newを使って新しいFontオブジェクトを作成し、
フォント名とサイズを指定します。
現在適用されているフォント名をそのまま使う場合は、
以下のように書きます。
DataGridView1.Font = New Font(DataGridView1.Font.Name, 20)
フォントサイズの変更に伴って、
ヘッダーや各セルの縦幅と横幅の調整が必要になりますが、
この設定を自動化するには、以下のように書いておきます。
'列ヘッダーの高さが自動調整されるようにする
DataGridView1.ColumnHeadersHeightSizeMode =
DataGridViewColumnHeadersHeightSizeMode.AutoSize
'行ヘッダーの幅が自動調整されるようにする
DataGridView1.RowHeadersWidthSizeMode =
DataGridViewRowHeadersWidthSizeMode.AutoSizeToAllHeaders
'ヘッダーとすべてのセルの内容に合わせて列幅を自動調整する
DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
'ヘッダーとすべてのセルの内容に合わせて行高を自動調整する
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
書く場所は、Form_Loadの中で問題ないでしょう。
もし、書かないと以下のような感じになってしまいます。
指定した列、行のみフォントサイズを変更する
指定した列、行のみフォントを変更したい時は、以下のように書きます。
'列
DataGridView1.Columns(0).DefaultCellStyle.Font = New Font(“MS ゴシック”, 20)
'行
DataGridView1.Rows(0).DefaultCellStyle.Font = New Font(“MS ゴシック”, 8)
「指定されたインデックス」の列のみ、フォント設定が適用されます。
スポンサーリンク
列ヘッダー、行ヘッダーのみフォントサイズを変更する
列ヘッダーのみ、行ヘッダーのみフォント変更したい場合は
以下のように書きます。
'列ヘッダー
DataGridView1.ColumnHeadersDefaultCellStyle.Font = New Font(“MS ゴシック”, 20)
'行ヘッダー
DataGridView1.RowHeadersDefaultCellStyle.Font = New Font(“MS ゴシック”, 20)
指定したセルのみフォントサイズを変更する
指定されたセルのみフォント設定したい場合は、
以下のように書きます。
DataGridView1(0, 0).Style.Font = New Font(“MS ゴシック”, 20)
フォント設定適用の優先度
フォント設定が適用される優先度が存在しますので、
注意する必要があります。
また、フォント設定が重なったセルがあっても、
フォント設定の上書きはされません。
例えば、セル(0,0)のフォントを20に設定し、
0行目のフォントを10に設定したとしても、
セル(0,0)のフォントは20のまま。
と言う事です。
上の方が優先度が高くなっています。
- DataGridViewCell.Style
- DataGridViewRow.DefaultCellStyle
- DataGridView.AlternatingRowsDefaultCellStyle
- DataGridView.RowsDefaultCellStyle
- DataGridViewColumn.DefaultCellStyle
- DataGridView.DefaultCellStyle
これでDataGridViewのフォントサイズ設定ができるようになりました。