如何定义默认控件属性?

时间:2016-01-06 11:14:18

标签: c# winforms

我希望我添加到其中一个表单的每个文本框看起来都一样,并且具有相同的属性。我给了文本框,例如,我想要按钮和组合框。我的问题是如何为每个控件定义一组默认属性。 我也能把它做到表格吗?

2 个答案:

答案 0 :(得分:2)

一种解决方案是通过继承基本控件并使用DefaultValue属性修饰属性来创建自己的控件库。例如:

public class MyTextBox: TextBox
{
  public MyTextBox()
  {
    Text = "Hi";
  }

  [DefaultValue("Hi")]
  public new string Text 
  { 
    get
    {
       return base.Text;
    }
    set
    { 
       base.Text = value;
    }

}

使用了new关键字,因为该属性已重新定义。

答案 1 :(得分:2)

为每个控件创建一个自定义类。例如,如果您希望文本框说“" hello world"”,您可以使用它。

public class NewTextBox : TextBox
{
    //The constructor, called for every new instance of the class.
    public NewTextBox()
    {
        Text = "hello world";
    }
}

然后在表单中使用它,就像这样调用一个新实例。

NewTextBox tb = new NewTextBox();//Create new text box
Controls.Add(tb);//Add text box to form.
相关问题