2.1 為Register自定義控件添加設計器屬性
在編寫自定義控件時,需要為頁面開發人員提供設計器屬性,便於他們設定控件的樣式、 外觀。並且在提供設計器屬性時,需要為這些設計器屬性提供便於閱讀的說明。使用設計器 屬性注釋自定義控件的屬性,可以提供該項功能。
2.11 提供屬性、層次屬性
當頁面開發人員使用我們提供的Register控件時,希望可以設定用戶名文本框、密碼文本 框的樣式、注冊、重置按鈕的樣式。我們在開發Register控件時,需要提供如下的屬性要具 有以下特征:
屬性的鍵值對集合。
屬性包含屬性說明,並能顯示在Visual Studio中。
提供各種屬性的默認值。
屬性分組,便於開發人員進行屬性分組。
在RegisterControl類中添加以下代碼:
private string _userPwd;
[Browsable(true)]
[Description("讀寫屬性,獲取或設定用戶名密碼框中的值")]
[Category("雜項")]
public virtual string UserPwd
{
get { return _userPwd; }
set { _userPwd = value; }
}
private string _userName;
[Browsable(true)]
[Description("讀寫屬性,獲取或設定用戶名文本框中的值")]
[DefaultValue("請輸入用戶名")]
[Category("雜項")]
public virtual string UserName
{
get { return this._userName; }
set { this._userName = value; }
}
以上代碼實現了以下的功能(以UserName屬性為例):
在UserName屬性上修飾Browsable特性,即設定該屬性是否設計器可見。
在UserName屬性上修飾Description特性,即設定該屬性在設計器中的注釋文本。
在UserName屬性上修飾DefaultValue特性,及設定該屬性的默認值。
在UserName屬性上修飾Category特性,及設定該屬性的分組。