簡體   English   中英

如何定義默認控件屬性?

[英]How to define default control properties?

我希望添加到其中一個表單的每個文本框看起來都一樣,並具有相同的屬性。 以文本框為例,我也希望將其用於按鈕和組合框。 我的問題是如何為每個控件定義一組默認屬性。 我也可以對表格進行處理嗎?

一種解決方案是通過從基本控件繼承並使用DefaultValue屬性修飾屬性來創建自己的控件庫。 例如:

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

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

}

new關鍵字用於因為屬性被重新定義。

為每個控件創建一個自定義類。 例如,如果您想要顯示“ 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.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM