私はforeColorが常に紅色で、backColorが常にシアンであるカスタムボタンを作成しようとしています。醜い色のスキームが、私はそれを取得しようとしているので、私は個々のコントロールを個別に設定せずに一貫したカラースキームで大量のコントロールを作成することができます。ここで私はボタンをコード化された方法は次のとおりです。私は私のフォーム上にカスタムボタンを削除するとカスタムWinformsコントロール(具体的なボタン)
public partial class CustomButton : Button
{
private static Color _defaultForeColor = Color.Crimson;
private static Color _defaultBackColor = Color.Cyan;
public CustomButton()
{
InitializeComponent();
base.ForeColor = _defaultForeColor;
base.BackColor = _defaultBackColor;
}
public AutoScaleMode AutoScaleMode { get; set; }
[DefaultValue(typeof(Color), "Crimson")]
override public Color ForeColor
{
get { return base.ForeColor; }
set
{
base.ForeColor = _defaultForeColor;
}
}
[DefaultValue(typeof(Color), "Cyan")]
public override Color BackColor
{
get { return base.BackColor; }
set
{
base.BackColor = _defaultBackColor;
}
}
}
、背景には、通常のボタンの色で、テキストが真っ赤です。私はアプリを実行する場合も同じです。プロパティウィンドウでフォアカラーまたはバックカラーを変更しようとすると、設定したデフォルト(クリムゾン、シアン)に戻り、アプリを実行するとそのように表示されます。デザイナーと実行時にコントロールが正しく表示されるようにするにはどうすればよいですか?