我目前在WinForms中使用C#在Visual Studio 2015中創建一個項目;我用「工具箱項目」這個詞來指代dateTimePickers,文本框,標籤等。它是一個非常大的項目,如果我能夠拖放這些對象並且它們已經具有格式,它將爲我節省大量時間;例如datetimePicker自定義格式,文本框對齊等。如何更改ToolBox項目的默認屬性?
問題是我需要自定義這些對象的一些屬性。到目前爲止,我有這段代碼可以讓我更改一些可覆蓋的屬性。
public partial class MoneyBox : TextBox
{
public override Color BackColor
{
get { return Color.Azure;}
set { base.BackColor = value; }
}
}
但是對於其他屬性,我不能這樣做。此外,我不能從已經格式化的對象繼承,因爲此對象尚未初始化,並且在繼承時我得到空值。我還試圖定製初始化組件和對象的繪製事件,但由於某些原因,更改不會顯示在對象上。
public partial class DateTimePick : DateTimePicker
{
public void InitializeComponent()
{
InitializeComponent();
this.Format = DateTimePickerFormat.Custom;
this.CustomFormat = "dd/MM/yyyy";
}
}
任何想法?
在此先感謝!
複製和粘貼工具箱項目應保留設置的屬性。 – Tod
它只是不需要屬性被覆蓋。使用'new'關鍵字重新定義屬性的效果也非常好,設計師沒有問題。反射允許它總是找到正確的。當然,你可以隨時添加你自己的。 InitializeComponent()通常只有在Form或UserControl是基類時纔有意義。 –
@HansPassant並沒有真正展現你的意思。 –