您的位置:首页 > 其它

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

2012-01-20 11:18 232 查看
本文目的:

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

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



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

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

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

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

[c-sharp]
view plaincopy

/// <summary>

/// 枚举类型,用于显示诗的分类的具体选项

/// </summary>

public enum PoetryTypes

{

五言绝句,

七言绝句

}

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

[c-sharp]
view plaincopy

private PoetryTypes _poetryTypes;

/// <summary>

/// 唐诗的分类

/// </summary>

[Category("Data")] //放到“数据”分组中

[Browsable(true)] //该项属性是否会显示在控件的“属性”窗口中

[Description("诗的分类")] //属性的说明

public PoetryTypes PoetryType

{

get

{

return _poetryTypes;

}

set

{

_poetryTypes = value;

}

}

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

[c-sharp]
view plaincopy

/// <summary>

/// 呈现控件

/// </summary>

/// <param name="output"></param>

protected override void RenderContents(HtmlTextWriter output)

{

string OutText = "";

if (!String.IsNullOrEmpty(Title))

{

OutText += "<p style="/" mce_style="/""text-align:center; font-size:12pt; font-weight:bold;/">" + Title + "(" + PoetryType + ")</p>";

}

OutText += "<p style="/" mce_style="/""text-align:center; font-size:10pt;/">" + Text + "</p>";

output.Write(OutText);

}

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



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



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



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



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

原创不容易,转载请注明出处:http://hi.csdn.net/smallfools

相关链接:

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

===================================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐