DataGridView列ヘッダーの文字位置

C#のDataGridViewの列ヘッダーの文字を中央揃えにしたい場合は、ColumnHeadersDefaultCellStyleAlignmentを変更します。

dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;

するとおおよそ中央の位置になるのですが、若干左にずれて見えます。

これはヘッダーをクリックしてソートをかけた場合に、▽印が出る分の幅が含まれているためです。

列のソート機能が不要な場合は、無効にすることで▽印が出ないようにすることができます。

foreach (DataGridViewColumn clm in dataGridView1.Columns)
{
        clm.SortMode = DataGridViewColumnSortMode.NotSortable;
}

誤差の範囲かもしれませんが、きれいに中央揃えになります。

コメント

タイトルとURLをコピーしました