まだ見ぬ明日を

ライブレポートがメインのチラシ裏

DataGridViewのボタン列にあるボタンのEnableプロパティについて

久しぶりにごりごりプログラミングしていて、躓いた点のメモ。

DataGridView内のボタンにはEnableプロパティが標準にないんですよね。なぜかw

 

docs.microsoft.com

Microsoftに参考資料があるので、コピペすれば出来ちゃいます。

要点をまとめると「DataGridViewDisableButtonCellのPaintメソッドをオーバーライドして、独自に描画する」という手法。

 

コピペのままだと、セルスタイルがフォームで設定したものではなくなってしまう問題が出てきてしまいます。

そこで、サンプルコードの一部を下記のように変更します。

 

gist0ba97d64666a633b217e845d9c4e0477

 

disabled時のテキストを設定している箇所の
「this.DataGridView.Font」を
「this.DataGridView.DefaultCellStyle.Font」に変更します。

これで、フォームのプロパティで設定したフォントやフォントサイズになってくれます。