2010-02-19 74 views
0

当您将新按钮拖到Windows窗体上时,会自动分配文本“button1”。如果您有一个控件继承了名为“CustomButton”的按钮,那么当添加到表单时,该控件会自动分配“customButton1”文本。覆盖派生的Windows窗体控件的默认文本

是否可以将此文本默认为其他内容?例如,我可以让文本默认为“点击我!”当控件被拖到一个表单上?

回答

0

要做到这一点,最简单的方法是不使用标准Text属性,让你自己来代替。

如果你这样做,你应该重写Text性能和应用[Browsable(false)]

+0

谢谢,这正是我最终用一个名为ButtonText的新属性完成的。 – 2010-02-19 03:12:29

0

你试过设置Text属性在派生控制的构造?

public CustomButton() { 
    Text = "Click me!"; 
} 

如果你也想你的文字显示为真正的默认值(即在属性窗口中不加粗),你应该重写Text属性,并设置一个DefaultValue -Attribute:

[DefaultValue("Click me!")] 
override string Text { 
    get { return base.Text } 
    set { base.Text = value; } 
} 
+0

我不认为这会有所帮助。 – SLaks 2010-02-19 03:05:52

+0

在发布之前,我沿着这些行尝试了一些东西,似乎只要该属性被称为文本,某些东西在添加到表单时就会覆盖它的值。 – 2010-02-19 03:13:17