当您将新按钮拖到Windows窗体上时,会自动分配文本“button1”。如果您有一个控件继承了名为“CustomButton”的按钮,那么当添加到表单时,该控件会自动分配“customButton1”文本。覆盖派生的Windows窗体控件的默认文本
是否可以将此文本默认为其他内容?例如,我可以让文本默认为“点击我!”当控件被拖到一个表单上?
当您将新按钮拖到Windows窗体上时,会自动分配文本“button1”。如果您有一个控件继承了名为“CustomButton”的按钮,那么当添加到表单时,该控件会自动分配“customButton1”文本。覆盖派生的Windows窗体控件的默认文本
是否可以将此文本默认为其他内容?例如,我可以让文本默认为“点击我!”当控件被拖到一个表单上?
要做到这一点,最简单的方法是不使用标准Text
属性,让你自己来代替。
如果你这样做,你应该重写Text
性能和应用[Browsable(false)]
。
你试过设置Text
属性在派生控制的构造?
public CustomButton() {
Text = "Click me!";
}
如果你也想你的文字显示为真正的默认值(即在属性窗口中不加粗),你应该重写Text
属性,并设置一个DefaultValue
-Attribute:
[DefaultValue("Click me!")]
override string Text {
get { return base.Text }
set { base.Text = value; }
}
我不认为这会有所帮助。 – SLaks 2010-02-19 03:05:52
在发布之前,我沿着这些行尝试了一些东西,似乎只要该属性被称为文本,某些东西在添加到表单时就会覆盖它的值。 – 2010-02-19 03:13:17
谢谢,这正是我最终用一个名为ButtonText的新属性完成的。 – 2010-02-19 03:12:29