私は現在WinFormsでC#を使用してVisual Studio 2015でプロジェクトを作成しています。私は、「ツールボックスアイテム」を使ってdateTimePickers、テキストボックス、ラベルなどを参照していました。これは本当に大きなプロジェクトです。オブジェクトをドラッグアンドドロップすると、フォーマット済みです。例えば、datetimePickerのカスタムフォーマット、テキストボックスの整列などツールボックス項目のデフォルトプロパティを変更する方法は?
問題は、これらのオブジェクトのいくつかのプロパティをカスタマイズする必要があることです。これまでは、オーバーライド可能ないくつかのプロパティを変更できるコードがあります。
public partial class MoneyBox : TextBox
{
public override Color BackColor
{
get { return Color.Azure;}
set { base.BackColor = value; }
}
}
しかし、私はこれを行うことはできません。また、このオブジェクトは初期化されておらず、継承するとnullになるので、すでにフォーマットされたオブジェクトから継承することはできません。また、オブジェクトの初期化コンポーネントとペイントイベントをカスタマイズしようとしましたが、何らかの理由でオブジェクトに変更が表示されません。
public partial class DateTimePick : DateTimePicker
{
public void InitializeComponent()
{
InitializeComponent();
this.Format = DateTimePickerFormat.Custom;
this.CustomFormat = "dd/MM/yyyy";
}
}
ありがとうございます!
ツールボックス項目をコピーして貼り付けると、設定されたプロパティが保持されます。 – Tod
プロパティをオーバーライドする必要はありません。 'new'キーワードでプロパティを再定義することも非常にうまくいくので、デザイナーはそれに問題はありません。反射は常に正しいものを見つけることを可能にします。もちろん、あなたはいつでもあなた自身を追加することができます。 InitializeComponent()は、FormまたはUserControlが基本クラスである場合にのみ意味があります。 –
@HansPassantは、あなたが意味することを本当に忘れていませんでした。 –