投稿したコードは正しい方向に進んでいます。コントロールのColumnHeadersDefaultCellStyle
プロパティを設定する必要があります。DataGridView
ただし、新しいクラスを作成してプロパティに割り当てる必要がありDataGridViewCellStyle
ます。ColumnHeadersDefaultCellStyle
このプロパティにクラスをAlignment
割り当てていない限り、コード サンプルが示すようにプロパティを変更することはできません。DataGridViewCellStyle
たとえば、次のコードは、空白のプロジェクトで列見出しを完全に中央揃えにします。
Dim dgvColumnHeaderStyle As New DataGridViewCellStyle()
dgvColumnHeaderStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
myDataGridView.ColumnHeadersDefaultCellStyle = dgvColumnHeaderStyle

将来的には、デザイナーからこれらのタイプの操作を実行する方が簡単になる場合があります。コードを使用して自分で行う必要がある場合*.Designer.vb
は、作成されたファイルをチェックして、どのように行われたかを確認できます。
編集:列で参照しているわずかなオフセットに気付きました。実際には、各ヘッダーの右側に少し余分なパディングが作成されます。ただし、これはバグではありません。もっと簡単な説明があります。
と同様にListView
、 はDataGridView
列による並べ替えをサポートしています。したがって、各列ヘッダーには、中央揃えを計算するときに並べ替えグリフ (通常は矢印) を表示するのに十分なスペースが予約されています。
列ヘッダーを完全に中央揃えにする場合は、並べ替えを無効にする必要があります。SortMode
列のプロパティを「NonSortable」に設定します。これにより、列のテキストが中央揃えまたは右揃えの場合に、並べ替えグリフ用にスペースが予約されるのを防ぐことができます。