データグリッドビューのカラム幅が狭いとヘッダ部分が自動的に改行されて高さが太くなり、見栄えが悪くなります。この自動改行を制御する方法です。
自動的に改行されないようにするには
データグリッドビューの「ColumnHeadersDefaultCellStyle.WrapMode」プロパティで改行の有無を設定します。デフォルトは自動改行(DataGridViewTriState.True)になっているので、これを改行なし(DataGridViewTriState.False)に設定します。 改行がOFFで列幅が足りない場合、末尾が「…」になります。※列ごとに自動改行を設定したい場合は「Columns[].HeaderCell.Style」プロパティを使用します。
C#
// 1.カラムヘッダーを改行する
DataGridView1.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.True;
// 2.カラムヘッダーを改行しない
DataGridView2.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.False;
// 3.カラム毎に設定
// 1つ目のカラムは改行
DataGridView3.Columns[0].HeaderCell.Style.WrapMode = DataGridViewTriState.True;
// 2つ目のカラムは改行しない
DataGridView3.Columns[1].HeaderCell.Style.WrapMode = DataGridViewTriState.False;
VB.NET
' 1.カラムヘッダーを改行する
DataGridView1.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.True
' 2.カラムヘッダーを改行しない
DataGridView2.ColumnHeadersDefaultCellStyle.WrapMode = DataGridViewTriState.False
' 3.カラム毎に設定
' 1つ目のカラムは改行
DataGridView3.Columns(0).HeaderCell.Style.WrapMode = DataGridViewTriState.True
' 2つ目のカラムは改行しない
DataGridView3.Columns(1).HeaderCell.Style.WrapMode = DataGridViewTriState.False
サンプルコードのダウンロード
サンプルコードの実行には Microsoft Visual Studio 2008 以上のバージョンが必要です。 2008以外のバージョンではプロジェクトを開いた際にファイルの変換が必要な場合があります。その場合は変換後に実行してください。検証環境
- Microsoft Visual Studio 2008 Version 9.0.30729.4462 QFE Edition: Professional
- Microsoft .NET Framework Version 3.5 SP1
- Microsoft Windows 7 Professional Service Pack 1 (Microsoft Windows NT 6.1 (7601))