C#のDataGridViewで列ヘッダーの色が変わらなかったときのメモ。
プロパティで色を指定する
背景色を変更したい場合は、ColumnHeadersDefaultCellStyleのBackColorを設定
文字色を変更したい場合は、ColumnHeadersDefaultCellStyleのForeColorを設定します。
dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.DimGray;
dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;
しかしこの設定だけだと、指定した色に変わらないことがあります。
Visualスタイルの適用を確認する
DataGridViewではEnableHeadersVisualStylesプロパティがtrueになっていると、標準のビジュアル設定を優先してしまうため、ユーザが指定した設定が反映されません。
そのため、EnableHeadersVisualStylesプロパティをfalseに変更します。
dataGridView1.EnableHeadersVisualStyles = false;
変更後に実行すると、指定した色が反映されるようになりました。

コメント