如何定义默认控件属性

本文关键字:默认 控件 属性 定义 何定义 | 更新日期: 2023-09-27 18:29:12

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

如何定义默认控件属性

为每个控件创建一个自定义类。例如,如果你想要写"你好世界"的文本框,你可以使用这个。

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.

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

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

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