time 
设为首页】【收藏本站
当前位置: 主页 > 程序设计 > .net > Visual Studio > 在VS2008中创建自定义控件(十)添加枚举型属性

在VS2008中创建自定义控件(十)添加枚举型属性

时间:2010-12-01 23:46 点击:1632次 字体:[ ]




本文目的:

在自定义控件中添加一个枚举型的属性


    什么是枚举型的属性?看一下下图就明白了。

在VS2008中创建自定义控件(十)添加枚举型属性_www.fengfly.com

    上图是一个TextBox服务器控件的BorderStyle属性。在属性对话框中,该属性值是通过下拉列表框的形式出现的,我们只能选择下拉列表框中的选项,不能自己输入内容——这就是枚举型属性的特点。

    接着上文《在VS2008中创建自定义控件(九)添加属性》,我们现在要为唐诗添加一个类别,这个类别用于说明唐诗是五言绝句还是七言绝句。

    首先,还是打开“poetry.cs”文件。

    然后,我们定义一个枚举,这个枚举中存放的内容就是下拉列表框中的选项,也就是五言绝句,还是七言绝句,如以下代码所示:

 

  1. /// <summary>  
  2. /// 枚举类型,用于显示诗的分类的具体选项  
  3. /// </summary>  
  4. public enum PoetryTypes  
  5. {   
  6.     五言绝句,  
  7.     七言绝句  

    第三步,定义一个枚举类型的属性,如以下代码所示。

 

  1. private PoetryTypes _poetryTypes;  
  2. /// <summary>  
  3. /// 唐诗的分类  
  4. /// </summary>  
  5. [Category("Data")]              //放到“数据”分组中  
  6. [Browsable(true)]               //该项属性是否会显示在控件的“属性”窗口中  
  7. [Description("诗的分类")]       //属性的说明  
  8. public PoetryTypes PoetryType  
  9. {  
  10.     get 
  11.     {  
  12.         return _poetryTypes;  
  13.     }  
  14.     set 
  15.     {  
  16.         _poetryTypes = value;  
  17.     }  

    第四步,添加自定义控件的呈现方式,也就是重写RenderContents()方法,如以下代码所示。

 

  1. /// <summary>  
  2. /// 呈现控件  
  3. /// </summary>  
  4. /// <param name="output"></param>  
  5. protected override void RenderContents(HtmlTextWriter output)  
  6. {  
  7.     string OutText = "";  
  8.     if (!String.IsNullOrEmpty(Title))  
  9.     {  
  10.         OutText += "<p style="\" mce_style="\""text-align:center; font-size:12pt; font-weight:bold;\">" + Title + "(" + PoetryType + ")</p>";  
  11.     }  
  12.     OutText += "<p style="\" mce_style="\""text-align:center; font-size:10pt;\">" + Text + "</p>";  
  13.     output.Write(OutText);  

    经过以上四个步骤,自定义控件的一个枚举型属性就添加完毕了。我们可以在网页中添加这个自定义控件,此时,在属性窗口我们可以看到Type属性如下图所示。

在VS2008中创建自定义控件(十)添加枚举型属性_www.fengfly.com

    从上图中我们可以看到,PoetryType属性值只能是我们定义的两个枚举选项。在aspx文件的源代码中,我们也可以看到枚举型属性的可选范围,如下图所示。

在VS2008中创建自定义控件(十)添加枚举型属性_www.fengfly.com

    在上图中,如果我们不选择可选项,而是自己输入的内容,在编译的时候,VS将会提示错误信息,如下图所示。

在VS2008中创建自定义控件(十)添加枚举型属性_www.fengfly.com

    最后的运行结果如下图所示。

在VS2008中创建自定义控件(十)添加枚举型属性_www.fengfly.com

本文源码下载



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