我目前在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并没有真正展现你的意思。 –