自定義asp.net控制元件分析 (一) (轉)
自定義分析 (一):namespace prefix = o ns = "urn:schemas--com::office" />
前些日子,自己做了幾個控制元件。想把自己對自定義控制元件的一些瞭解寫出來,請大家多多發表自己對自定義控制元件製作的心得。
讓我們能更好的動手製作自己所需功能的控制元件。
下面就以,.net自動生成的模版做一解釋。(以vb語言為例)
1.Imports System.ComponentModel
2.Imports System..UI
3.
4. Inherits System.Web.UI.WebControls.WebControl
5. Dim _text As String
6.
7. Get
8. Return _text
9. End Get
10. Set(ByVal Value As String)
11. _text = Value
12. End Set
13. End Property
14. Protected Overrs Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
15. output.Write([Text])
16. End Sub
17.End Class
'---------------------------------------------------------------
'1-2 匯入名稱空間,System.ComponentModel和 System.Web.UI 這沒什麼好介紹的
'3 DefaultProperty("Text")--指定屬性的預設值。如果用此屬性需要匯入(名稱空間: System.ComponentModel)
ToolboxData("{0}:WebCustomControl1>")
指定當從 等工具中的工具箱拖動自定義控制元件時為它生成的預設標記。
在下面的示例中,設定特定於 MyLabel 的若干屬性。{0} 的所有匹配項都由設計器替換為與 MyLabel 類關聯的標記字首。
Public Class WebCustomControl1定義類名為webcustomcontrol1,以後編譯生成的dll名為webcustomtrol1
(注意:如果你修改類名。則需要修改{0}:後相對應的名字。例如:你把類名webcustomcontrol1改為webcustom。
則需要把ToolboxData("{0}:WebCustomControl1>")改成
ToolboxData("{0}:webcustom>") 否則編譯後將出錯。)
'4 Inherits 表示繼承。這裡是繼承System.Web.UI.WebControls.WebControl的方法,屬性,事件等。
'6 這句主要是控制自定義控制元件在’屬性‘中的顯示,先解釋模版的句子,再擴充套件開講
Property [Text]() As String定義 text屬性 為字串型別
Bindable(True)指定是否要繫結到該屬性。-True為是,False為不
Category("Appearance") --text屬性將顯示在外觀組中。指定類別的名稱,在該類別中將對屬性或事件進行分組。當使用了類別時,屬性和事件可以按邏輯分組顯示在屬性瀏覽器中。
DefaultValue("")為屬性設定一個簡單的預設值。這裡為空
下面列出所有的特性
詳細資料可檢視ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpcondesign-timeattributeorcomponents.htm
屬性
應用於
說明
BrowsableAttribute
屬性和事件
指定屬性或事件是否應該顯示在屬性瀏覽器中。
CategoryAttribute
屬性和事件
指定類別的名稱,在該類別中將對屬性或事件進行分組。當使用了類別時,元件屬性和事件可以按邏輯分組顯示在屬性瀏覽器中。
DescriptionAttribute
屬性和事件
定義一小塊文字,該文字將在選擇屬性或事件時顯示在屬性瀏覽器底部。
BindableAttribute
屬性
指定是否要繫結到該屬性。
DefaultPropertyAttribute
屬性
(將此特性插入類宣告前。)
指定元件的預設屬性。當使用者單擊控制元件時,將在屬性瀏覽器中選定該屬性。
DefaultValueAttribute
屬性
為屬性設定一個簡單的預設值。
EditorAttribute
屬性
指定在可視設計器中編輯(更改)屬性時要使用的編輯器。
LocalizableAttribute
屬性
指定屬性應本地化。當使用者要本地化某個窗體時,任何具有該特性的屬性都將自動永久駐留到資源中。
DesignerSerializationVisibilityAttribute
屬性
指定顯示在屬性瀏覽器中的屬性是否應該(以及如何)永久駐留在程式碼中。
TypeConverterAttribute
屬性
指定將屬性的型別轉換為另一個資料型別時要使用的型別轉換器。
DefaultEventAttribute
事件
(將此特性插入類宣告前。)
指定元件的預設事件。這是當使用者單擊元件時在屬性瀏覽器中選定的事件。
.net中還支援自定義特性,這裡就不說,有興趣的可以去查msdn,上面有詳細說明
可參考ms-help://MS.VSCC/MS.MSDNVS.2052/cpguide/html/cpconwritingcustomattributes.htm
7-12很簡單,意思就是返回(Get)Text屬性的值和設定(Set)Text屬性的值
13 Text屬性的結束
14-16 這個過程作用是重寫控制元件的呈現。這裡是在頁面上顯示Text屬性的值
這裡只是簡單介紹了一下自定義控制元件。我將在下一篇裡,用例子來具體介紹自定義控制元件中的屬性、方法、事件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-988542/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- C#自定義控制元件—旋轉按鈕C#控制元件
- C#自定義控制元件—轉換開關C#控制元件
- 自定義控制元件ViewPager控制元件Viewpager
- 自定義Switch控制元件控制元件
- 4. 自定義控制元件(4) --- 自定義屬性控制元件
- winform 自定義容器控制元件ORM控制元件
- WPF Blend 自定義控制元件控制元件
- Flutter 之 自定義控制元件Flutter控制元件
- iOS自定義控制元件 SlideriOS控制元件IDE
- iOS自定義控制元件 AlertViewiOS控制元件View
- iOS自定義控制元件 SegmentiOS控制元件
- Android自定義View--翻書控制元件(一)AndroidView控制元件
- 自定義一個下拉重新整理控制元件控制元件
- Android自定義控制元件(高手級)--JOJO同款能力分析圖Android控制元件
- Android自定義控制元件(高手級)–JOJO同款能力分析圖Android控制元件
- Flutter 自定義縮放控制元件Flutter控制元件
- Qt實現自定義控制元件QT控制元件
- AngularJS自定義表單控制元件AngularJS控制元件
- 【Android】自定義樹形控制元件Android控制元件
- 自定義控制元件 --- 電池icon控制元件
- iOS自定義控制元件:簡易下拉控制元件iOS控制元件
- Flutter自定義控制元件第一式,炫酷“蛛網”控制元件Flutter控制元件
- 教你玩轉自定義View—手擼一個倒數計時控制元件如此簡單View控制元件
- QT常用控制元件(三)——自定義控制元件封裝QT控制元件封裝
- C#自定義控制元件—指示燈C#控制元件
- WPF自定義FixedColumnGrid佈局控制元件控制元件
- 【自定義使用者控制元件】CNMButton控制元件
- UWP 自定義密碼框控制元件密碼控制元件
- iOS 自定義拖拽式控制元件:QiDragViewiOS控制元件View
- 自定義控制元件總結和思考控制元件
- ASP.NET Core - 自定義中介軟體ASP.NET
- 【ASP.NET Core】自定義的配置源ASP.NET
- 【asp.net core 系列】15 自定義IdentityASP.NETIDE
- Android 控制元件架構與自定義控制元件詳解Android控制元件架構
- iOS自定義控制元件:自定義TableView、CollectionView空資料佔點陣圖iOS控制元件View
- 自定義圓形進度條控制元件控制元件
- C#自定義控制元件—儀表盤C#控制元件
- C#自定義控制元件—流動管道C#控制元件
- 簡單的自定義表單控制元件控制元件