お世話になっております。
今回の質問は、上記の通りです。
System.Windows.Formsのチェックボックスです。
Appearanceをbuttonにしているため、ボタンのような外観をしています。
- 変更したい理由
アプリケーションを作るにあたって、状態に応じてコントロールを無効にすることがあると思います。
しかし、コントロールを無効にすると、設定しているForeColor・BackColorに対応した色が表示され、変更することができません。
この時の文字色が存外イケてなく(背景色はいいのですが)、無効の時は文字色だけを白色にしたいと思っています。
いろいろ探しましたが、方法が見つからなかったので質問させていただきました。
- 試したこと
- System.Drawing.SystemColors.Controlでシステム色に変えた
システム色内にイケてるものがありませんでした。
0. 新しいプロパティを作成した
コードは以下の通りです。
C#
1bool enable = true; 2 3[Browsable(true)] 4[Description("コントロールの有効/無効を切り替えます。")] 5[Category("動作")] 6public bool Enabled2 7{ 8 get 9 { 10 return enable; 11 } 12 set 13 { 14 enable = value; 15 if(enable) 16 { 17 //チェックボックスの文字色を元に戻す 18 this.AutoCheck = true; 19 } 20 else 21 { 22 //チェックボックスの文字色を白にする 23 this.AutoCheck = false; 24 } 25 } 26}
この方法が一番良さそうでしたが、マウスオーバー時にボタンが凹むモーションを止めることができなかったので断念しました。
- 最後に
よろしければ、無効状態のチェックボックスの文字色だけ変更する方法、もしくはマウスオーバー時にボタンが凹むモーションを止める方法を教えてください。
他に良い方法があれば、それも募集しています。
回答2件
あなたの回答
tips
プレビュー