プロパティはデフォルトで周囲のプロパティです。つまり、親コントロールから値を継承します。 を明示的にに設定すると、周囲の性質が上書きされ、その特定の値が使用されます。
標準のWindowsボタンコントロールはカスタムカラーをサポートしていないため、実際にはWinFormsはコントロールをカスタム描画して、デザイナーがその色をオーバーライドできるようにします。そうすれば、醜い緑色または赤色のボタンを使用したい場合は、それを行うことができます。
ここでは、ボタンコントロールの背景色を効果的に設定しています(3Dコントロールの背景色に設定しますが、簡単に紫色にすることもできます)。カスタムはコントロールを描画し、指定した色で背景をペイントします。これが、フラットな外観を実現するものです。デフォルトのグラデーションエフェクトを使用するのではなく、背景色が単一のカスタムカラーでペイントされるようになりました。実際にボタンがフラットな3Dコントロールカラーで塗られただったので、Windows Classic(プレアロ)テーマではそれほど目立たなかったでしょう。しかし、Aeroにはグラデーションやその他の「ホット」エフェクトが追加されています。
設定した値をクリアしてプロパティの周囲の性質を復元するには、プロパティウィンドウのプロパティを右クリックし、[リセット]を選択します。またdefault(Color)
にプロパティを設定することで、コードによってそれを行うことができます:BackColor
プロパティは、カスタムをサポートするように変更されるたびに
myButton.BackColor = default(Color);
あなたはまた、自動的にfalse
に設定されますtrue
に戻っUseVisualStyleBackColor
プロパティを設定する必要があります。背景色。
また、WinFormsにそのようなカスタムプロパティを無視し、Windowsにボタンコントロールの描画を依頼することもできます。 FlatStyle
プロパティをFlatStyle.System
に設定してください。
この場合も、これはデザイナーまたはコードで実行できます。これにより、背景色のような愚かなものを変更することを防ぎ、醜いコントロールを作成しますが、ホバー上の微妙なAeroフェード効果を含むWin32ボタンコントロールのネイティブ動作をWinFormsアプリケーションに戻します。
なぜこれがデフォルトでないのかわかりません。あなたは醜い非標準的なコントロールを得るために特別な要求をしなければなりません。それはただ自動的に起こるべきではありません。 VB6のプログラマーは何年もの間、あらゆる種類の醜いコントロールを作ることができました。
デザインモードに変更した場合は、そのまま[バックカラー](デザインモード)財産および右クリックに行きます。デフォルトに戻すためのメニューが表示されます。 –