【C#】DataGridViewのコンボボックスに色を設定する方法

C#

DataGridViewのコンボボックスに色を設定する方法

DataGridViewを扱うとき、コンボボックスを使いたいことがしばしばある。
このとき、ただ色設定をしても、コンボボックスセルはデフォルト色になってしまう。

var comboBoxColumn = new DataGridViewComboBoxColumn();
comboBoxColumn.DefaultCellStyle.ForeColor = Color.Green;

例えば上記のように設定したとすると、

DGVコンボボックス選択中

コンボボックスのリストの中は設定した通りのForeColorになっているが

DGVコンボボックスのスタイル変更前

選択を確定するとDefault色になってしまう。

FlatStyleをFlatに設定

これを、設定した色で表示させたい場合は、FlatStyleをFlatにすればよい。

column.FlatStyle = FlatStyle.Flat;

こうすることで、コンボボックスの見た目も変わり、色設定が可能になる。

DGVコンボボックスFlatStyleをFlatに変更

現在はForeColorのみ設定しているが、BackColorSelectionForeColorなどの設定も可能。

FlatStyleをPopupに設定

ちなみに、FlatStyle.Popupでも色設定が可能。Flatと違う点は、セル選択時に立体的に見えるような視覚効果があるということ。

DGVコンボボックスPopup選択時

 

コメント

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