ツマラナイことで時間がかかったので、まとめておこうとおもいました。
今後 WinForm 使うことも少なくなるとは思うのではありますけれども。
やりたかったこと
・Buttonに背景色をつける
・Buttonは状況に応じて有効(Enabled=true)、無効(Enabled=false)の状態がある
・Buttonの表示文字はボタンの有効/無効に合わせて表示色が変化する
困ったこと
・Enabled=false にしても、Buttonに表示している文字色が「黒」のまま
Buttun自体は期待通り、無効表示になっている
解決方法
・Enabled=false にする際、一緒に Butotn.BackColor = System.Drawing.SystemColors.Control にすること。これでButtonに表示している文字色が期待通りに変化する。
code
code.cs
// 背景色を変更します
button1.BackColor = Color.BurlyWood;
// ボタンを無効にします
button1.Enabled = false;
// ボタンの背景色をシステム指定に戻します
button1.BackColor = System.Drawing.SystemColors.Control;