在VS2008中创建自定义控件(七)自定义控件的中常用到的特性

来源:互联网 发布:网络扫描工具的作用 编辑:程序博客网 时间:2024/05/29 21:17

本文目的:

了解自定义控件中的一些常用特性,这些特性大多在IDE中会有显示,可以方便开发人员理解自定义控件的作用。

 


 

 

    自定义控件中的一些特性挺有用的,为了方便起见,我把常用的一些自定义控件的特性以备注方法进行了标注,如以下代码所示。

[c-sharp] view plaincopy
  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.ComponentModel;  
  4. using System.Linq;  
  5. using System.Text;  
  6. using System.Web;  
  7. using System.Web.UI;  
  8. using System.Web.UI.WebControls;  
  9. [assembly: TagPrefix("YundaoControls""myControls")]   //指定@Register指令中的tagprefix值  
  10. namespace YundaoControls  
  11. {  
  12.     [DefaultProperty("Text")]   //指定该控件的默认属性  
  13.     [ToolboxData("<{0}:myCustomControl runat=server></{0}:myCustomControl>")]   //从工具箱拖动该控件时为该控件生成的默认标记  
  14.     public class myCustomControl : WebControl  
  15.     {  
  16.         [Bindable(true)]                //设置该属性是否支持绑定  
  17.         [Category("Appearance")]        //属性分组的类别名称  
  18.         [DefaultValue("")]              //属性的默认值(如果有IDE的属性栏里输入的值与该值相同,IDE中的这个值不变黑)  
  19.         [Localizable(true)]             //属性是否支持本地化  
  20.         [Browsable(true)]               //该项属性是否会显示在控件的“属性”窗口中  
  21.         [Description("显示的文本")]     //属性的说明  
  22.         public string Text  
  23.         {  
  24.             get  
  25.             {  
  26.                 String s = (String)ViewState["Text"];  
  27.                 return ((s == null) ? String.Empty : s);  
  28.             }  
  29.             set  
  30.             {  
  31.                 ViewState["Text"] = value;  
  32.             }  
  33.         }  
  34.         /// <summary>  
  35.         /// 将自定义控件的内容发送给HtmlTextWriter对象  
  36.         /// </summary>  
  37.         /// <param name="output">HtmlTextWriter对象,该对象编写在浏览器中输出的内容</param>  
  38.         /// <remarks>自定义控件会在浏览器中输出什么内容,通常都是在该方法中实现</remarks>  
  39.         protected override void RenderContents(HtmlTextWriter output)  
  40.         {  
  41.             //在浏览器中输出自定义控件的Text属性值  
  42.             output.Write(Text);  
  43.         }  
  44.     }  
  45. }  
 

 

    从以上代码中可以看出,自定义控件常用到的几个特性有:

    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

相关链接:

  1. 在VS2008中创建自定义控件(一)创建网站项目和自定义控件项目
  2. 在VS2008中创建自定义控件(二)创建自定义控件并将其添加到工具箱中
  3. 在VS2008中创建自定义控件(三)在网页中添加自定义控件
  4. 在VS2008中创建自定义控件(四)为自定义控件添加默认值
  5. 在VS2008中创建自定义控件(五)修改tagprefix
  6. 在VS2008中创建自定义控件(六)创建完全自定义控件
  7. 在VS2008中创建自定义控件(七)自定义控件的中常用到的特性
  8. 在VS2008中创建自定义控件(八)输出HTML代码
  9. 在VS2008中创建自定义控件(九)添加属性
  10. 在VS2008中创建自定义控件(十)添加枚举型属性
  11. 在VS2008中创建自定义控件(十一)添加在属性窗口中可折叠的属性(一)
  12. 在VS2008中创建自定义控件(十二)添加在属性窗口中可折叠的属性(二)
  13. 在VS2008中创建自定义控件(十三)添加内镶属性
  14. 在VS2008中创建自定义控件(十四)内镶属性与内联属性的优先级
  15. 在VS2008中创建自定义控件(十五)创建控件时出错(未能对属性XXX设置XXX)的解决方法

===================================================================

原创粉丝点击