分享
 
 
 

自定义asp.net控件分析 (一)

王朝asp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

自定义asp.net控件分析 (一)

前些日子,自己做了几个控件。想把自己对自定义控件的一些了解写出来,请大家多多发表自己对自定义控件制作的心得。

让我们能更好的动手制作自己所需功能的控件。

下面就以,.net自动生成的模版做一解释。(以vb语言为例)

1.Imports System.ComponentModel

2.Imports System.Web.UI

3.<DefaultProperty("Text"), ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")> Public Class WebCustomControl1

4. Inherits System.Web.UI.WebControls.WebControl

5. Dim _text As String

6. <Bindable(True), Category("str"), DefaultValue("11111")> Property [Text]() As String

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 Overrides 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 runat=server></{0}:WebCustomControl1>")

指定当从 Visual Studio 等工具中的工具箱拖动自定义控件时为它生成的默认标记。

在下面的示例中,设置特定于 MyLabel 的若干属性。{0} 的所有匹配项都由设计器替换为与 MyLabel 类关联的标记前缀。

<ToolboxData("<{0}:MyLabel Text='MyLabel' BorderColor='Yellow' BackColor='Magenta' BorderWidth = '10' runat='server'></{0}:MyLabel>")>

Public Class WebCustomControl1定义类名为webcustomcontrol1,以后编译生成的dll名为webcustomtrol1

(注意:如果你修改类名。则需要修改{0}:后相对应的名字。例如:你把类名webcustomcontrol1改为webcustom。

则需要把ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")改成

ToolboxData("<{0}:webcustom runat=server></{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-timeattributesforcomponents.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属性的值

这里只是简单介绍了一下自定义控件。我将在下一篇里,用例子来具体介绍自定义控件中的属性、方法、事件。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有