在前幾節中 我們演示了怎樣進行用戶控件開發 大家可能對用戶控件中的壹些屬性的基本設置還存在疑惑 這節我們***同學習下用戶控件的基本屬性設置
所謂基本屬性設置 就是我們常常看到控件在屬性設計器中可以對屬性進行設置 有些屬性在設計中具有默認值 有些在屬性設計器中會彈出壹個編輯器 供用戶選擇值
這節內容
簡單數據類型的屬性設置
復雜數據類型的屬性設置
簡單數據類型的屬性設置
簡單數據類型 就是 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 = Color Red; [Category( 顏色 )] [Description( 第二顏色 )] public Color SecondColor { get { return _sColor; } set { _sColor = value; } } /// <summary> /// 用於判斷當前屬性是否在使用默認值 /// </summary> /// <returns></returns> public bool ShouldSerializeSecondColor() { return _sColor != Color Blue; } /// <summary> /// 用於設置屬性的默認值為藍色 /// </summary> public void ResetSecondColor() { _sColor = Color Blue; }
這樣我們在屬性設計器中就可以通過重置命令 設置默認顏色為藍色
lishixinzhi/Article/program/net/201311/13456