DadaGridViewの色が変わらない

C#のDataGridViewで列ヘッダーの色が変わらなかったときのメモ。

プロパティで色を指定する

背景色を変更したい場合は、ColumnHeadersDefaultCellStyleBackColorを設定

文字色を変更したい場合は、ColumnHeadersDefaultCellStyleForeColorを設定します。

dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.DimGray;
dataGridView1.ColumnHeadersDefaultCellStyle.ForeColor = Color.White;

しかしこの設定だけだと、指定した色に変わらないことがあります。

Visualスタイルの適用を確認する

DataGridViewではEnableHeadersVisualStylesプロパティがtrueになっていると、標準のビジュアル設定を優先してしまうため、ユーザが指定した設定が反映されません。

そのため、EnableHeadersVisualStylesプロパティをfalseに変更します。

dataGridView1.EnableHeadersVisualStyles = false;

変更後に実行すると、指定した色が反映されるようになりました。

コメント

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