本文目的:
了解自定义控件中的一些常用特性,这些特性大多在IDE中会有显示,可以方便开发人员理解自定义控件的作用。
自定义控件中的一些特性挺有用的,为了方便起见,我把常用的一些自定义控件的特性以备注方法进行了标注,如以下代码所示。
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Linq;
- using System.Text;
- using System.Web;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- [assembly: TagPrefix("YundaoControls", "myControls")]
- namespace YundaoControls
- {
- [DefaultProperty("Text")]
- [ToolboxData("<{0}:myCustomControl runat=server></{0}:myCustomControl>")]
- public class myCustomControl : WebControl
- {
- [Bindable(true)]
- [Category("Appearance")]
- [DefaultValue("")]
- [Localizable(true)]
- [Browsable(true)]
- [Description("显示的文本")]
- public string Text
- {
- get
- {
- String s = (String)ViewState["Text"];
- return ((s == null) ? String.Empty : s);
- }
- set
- {
- ViewState["Text"] = value;
- }
- }
-
-
-
-
-
- protected override void RenderContents(HtmlTextWriter output)
- {
-
- output.Write(Text);
- }
- }
- }
从以上代码中可以看出,自定义控件常用到的几个特性有:
1、assembly:用于指定@Register指令中的tagprefix值,详情请看《在VS2008中创建自定义控件(五)修改tagprefix》
2、DefaultProperty:指定该控件的默认属性。也就是在IDE中打开自定义控件的属性窗口里,默认被选中的属性项,如下图所示。
3、Bindable:设置该属性是否支持绑定。
4、Category:属性分组的类别名称,其中可以是自定义的值,也可以是包括以下几个值:
a、Action:“操作”组
b、Appearance:“外观”组
c、Behavior:“行为 ”组
d、Data:“数据”组
e、Default:“杂项”组
f、Design:“设计”组
g、DragDrop:“拖放”组
h、Focus:“焦点”组
i、Format:“格式”组
j、Key:“键盘”组
k、Layout:“布局”组
l、Mouse:“鼠标”组
m、WindowStyle:“窗口样式”组
如下图所示
5、DefaultValue:属性的默认值,这是一个比较害人的特性,因为这个“默认值”并不是我们想像中的默认值。想像中的默认值是如果没有为该属性赋值则默认的一个值,而这里的默认值是指:如果在IDE的属性栏里输入的值与该值相同,IDE中的这个值不变黑。如下面两个图所示,第一个图中的值不是“默认值”,第二个图中的值是“默认值”。
6、Localizable:是否支持本地化。
7、Browsable:属性是否会显示在控件的“属性”窗口中。
8、Description:属性的说明,如下图所示。
===================================================================
原创不容易,转载请注明出处:http://hi.csdn.net/smallfools
相关链接:
- 在VS2008中创建自定义控件(一)创建网站项目和自定义控件项目
- 在VS2008中创建自定义控件(二)创建自定义控件并将其添加到工具箱中
- 在VS2008中创建自定义控件(三)在网页中添加自定义控件
- 在VS2008中创建自定义控件(四)为自定义控件添加默认值
- 在VS2008中创建自定义控件(五)修改tagprefix
- 在VS2008中创建自定义控件(六)创建完全自定义控件
- 在VS2008中创建自定义控件(七)自定义控件的中常用到的特性
- 在VS2008中创建自定义控件(八)输出HTML代码
- 在VS2008中创建自定义控件(九)添加属性
- 在VS2008中创建自定义控件(十)添加枚举型属性
- 在VS2008中创建自定义控件(十一)添加在属性窗口中可折叠的属性(一)
- 在VS2008中创建自定义控件(十二)添加在属性窗口中可折叠的属性(二)
- 在VS2008中创建自定义控件(十三)添加内镶属性
- 在VS2008中创建自定义控件(十四)内镶属性与内联属性的优先级
- 在VS2008中创建自定义控件(十五)创建控件时出错(未能对属性XXX设置XXX)的解决方法
===================================================================