Asp.net 3.5控制項和組件開發技術系列—伺服器控制項屬性(五)

來源:互聯網
上載者:User

4.7  實現自訂屬性

在本章前面的章節中我們實現的許多功能都是藉助於系統提供的設計時中繼資料屬性支援實現的 ,如:

顯示內容描述資訊的Description 屬性

[Description("描述文本")]

指定屬性在屬性視窗中類別的Category 設計屬性

[Category(" 屬性視窗中的類別名稱")]

指定屬性編輯器的Editor 設計屬性

[Editor(typeof(FileNameEditor), typeof(UITypeEditor))]

指定屬性類型轉換器的TypeConverter 設計屬性

[TypeConverter(typeof(SolidCoordinateConverter))]

這些都是系統提供的,每個屬性都有它自己的功能。那麼如果我們想自訂一個設計屬性,實 現自訂的功能,該怎麼實現呢?要設計自訂屬性,僅需要直接或間接地從System.Attribute 派生即可,與傳統類功能完全一樣。我們既可以使用System.Attribute 來定義控制項設計期控制, 也可以用System.Attribute 指定運行時的控制。

本節就以一個樣本示範控制項中的設計屬性是怎麼實現的。首先還是先說明一下本節控制項屬性要 實現的功能,如圖4-35 所示。

此控制項具有一個Num 屬性,允許開發人員指定一個值。在控制項的屬性上指定了一個NumValidate 類型的驗證屬性,該屬性需要傳入兩個參數,供開發人員指定區間,如果在屬性視窗中指定的屬性 不在區間內,則會有警告提示(如圖4-36 中紅色警告提示)。

圖4-36  控制項設計屬性樣本

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.