time 
设为首页】【收藏本站
当前位置: 主页 > 程序设计 > .net > Visual Studio > 在VS2008中创建自定义控件(七)自定义控件的中常用到的特性

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

时间:2010-12-01 23:37 点击:1336次 字体:[ ]




本文目的:

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


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

  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中打开自定义控件的属性窗口里,默认被选中的属性项,如下图所示。

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

 

    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:“窗口样式”组

     如下图所示

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

 

    5、DefaultValue:属性的默认值,这是一个比较害人的特性,因为这个“默认值”并不是我们想像中的默认值。想像中的默认值是如果没有为该属性赋值则默认的一个值,而这里的默认值是指:如果在IDE的属性栏里输入的值与该值相同,IDE中的这个值不变黑。如下面两个图所示,第一个图中的值不是“默认值”,第二个图中的值是“默认值”。

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

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

 

    6、Localizable:是否支持本地化。

 

    7、Browsable:属性是否会显示在控件的“属性”窗口中。

 

    8、Description:属性的说明,如下图所示。

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



本文地址 : http://www.fengfly.com/plus/view-192990-1.html
标签: VS2008
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码: