在前幾節中我們演示了怎樣進行用戶控件開發大家可能對用戶控件中的一些屬性的基本設置還存在疑惑這節我們共同學習下用戶控件的基本屬性設置
所謂基本屬性設置就是我們常常看到控件在屬性設計器中可以對屬性進行設置有些屬性在設計中具有默認值有些在屬性設計器中會彈出一個編輯器供用戶選擇值
這節內容
簡單數據類型的屬性設置
復雜數據類型的屬性設置
簡單數據類型的屬性設置
簡單數據類型就是NET中常見的類型例如字符串整型浮動型這些基本數據類型
我們看下這些基本屬性
Browsable指示該屬性是否可以在屬性設計器中顯示如果TRUE則顯示FALSE則不顯示
Category表示屬性的分類
Description表示屬性的描述信息
DefaultValue表示屬性的默認值
下面我們定義了一個用戶控件並自定義了一個屬性SecondText代碼如下
public partial class UCLabel : UserControl
{
public UCLabel()
{
InitializeComponent();
}
private string _sText=Helloworld;//初始值
/// <summary>
/// Browsable表示該屬性是否顯示在設計器中TRUE為顯示
/// </summary>
/// Description表示對屬性的描述信息
/// Category表示該屬性在屬性設計器中的分類
[Browsable(true)]
[Category(文本)]
[Description(第二文本)]
[DefaultValue(新浪微博)]//默認值
public string SecondText
{
get
{
return _sText;
}
set
{
_sText = value;
}
}
}
從上面的圖片中我們可以看到各個屬性在屬性設計器中對應的項
在這裡有一點要說明我們把SecondText的初始值設為HelloWorld 把它的默認值設為新浪微博 我們說下初始值和默認值的區別
初始值是屬性定義時候賦的值當把用戶控件拖到窗體上後默認情況下顯示的初始值
一個屬性的默認值是非加粗顯示其他值都是加粗顯示的
如果想恢復某個屬性的默認值只需要右鍵單擊該屬性選擇重置就可以恢復屬性的默認值
復雜屬性的基本設置
復雜類型主要是指引用類型例如我們自定義的類或者系統原有的類復雜屬性的設置主要是默認值的設置
復雜屬性的默認值設置不能再使用DefaultValue屬性需要使用Reset方法
如果想判斷當前屬性是否使用的是默認值可以使用ShouldSerialize屬性名來判斷當然這兩個方法都需要我們自己來實現
如下代碼定義了一個顏色復雜屬性
//定義屬性的初始值為紅色
private Color _sColor = ColorRed;
[Category(顏色)]
[Description(第二顏色)]
public Color SecondColor
{
get
{
return _sColor;
}
set
{
_sColor = value;
}
}
/// <summary>
/// 用於判斷當前屬性是否在使用默認值
/// </summary>
/// <returns></returns>
public bool ShouldSerializeSecondColor()
{
return _sColor != ColorBlue;
}
/// <summary>
/// 用於設置屬性的默認值為藍色
/// </summary>
public void ResetSecondColor()
{
_sColor = ColorBlue;
}
這樣我們在屬性設計器中就可以通過重置命令設置默認顏色為藍色
From:http://tw.wingwit.com/Article/program/net/201311/13456.html