DataGridViewのコンボボックスに色を設定する方法
DataGridViewを扱うとき、コンボボックスを使いたいことがしばしばある。
このとき、ただ色設定をしても、コンボボックスセルはデフォルト色になってしまう。
var comboBoxColumn = new DataGridViewComboBoxColumn();
comboBoxColumn.DefaultCellStyle.ForeColor = Color.Green;例えば上記のように設定したとすると、

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

選択を確定するとDefault色になってしまう。
FlatStyleをFlatに設定
これを、設定した色で表示させたい場合は、FlatStyleをFlatにすればよい。
column.FlatStyle = FlatStyle.Flat;こうすることで、コンボボックスの見た目も変わり、色設定が可能になる。

現在はForeColorのみ設定しているが、BackColorやSelectionForeColorなどの設定も可能。
FlatStyleをPopupに設定
ちなみに、FlatStyle.Popupでも色設定が可能。Flatと違う点は、セル選択時に立体的に見えるような視覚効果があるということ。

 
  
  
  
  

コメント