ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> .NET技术
自定义组件之属性(Property)的性质(Attribute)介绍(二)
一:属性转换器(TypeConverter)



1、 下拉列表框的形式:



要使用下拉列表框的形式的属性我们首先要定义一个属性,在这个例子中我定义了一个字符串类型的属性 FileName。



private string _fileName;







public string FileName



{



get { return this._fileName;}



set { this._fileName=value; }



}



定义完属性之后,我们还要自己一个属性转换器。那么什么是属性转换器呢?其实在属性浏览器中只能够识别字符串类型,所以我们要通过属性转换器把我们的属性转换成字符串,还要在属性浏览器改变这个字符串之后在把这个字符串转换成我们自己的属性。大家听起来是不是有一些胡涂了?没关系下面我们做一个属性转换器大家就知道了。



因为在本例中用的属性是字符串类型的所以我们要从System.ComponentModel.StringConverter继承一个新的字符串形式的属性转换器。下面就是这段代码和代码中的注释,相信大家一定能够看懂的:



/// <summary>



/// 扩展字符串的转换器(实现下拉列表框的样式)



/// </summary>



public class FileNameConverter:System.ComponentModel.StringConverter



{











/// <summary>



/// 根据返回值确定是否支持下拉框的形式



/// </summary>



/// <returns>



/// true: 下来框的形式



/// false: 普通文本编辑的形式



/// </returns>



public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext context)



{



return true;



}







/// <summary>



/// 下拉框中具体的内容



/// </summary>



public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext context)



{



return new StandardValuesCollection(new string[]{"File1.bat","File2.exe","File3.dll"});



}







/// <summary>



/// 根据返回值确定是否是不可编辑的文本框



/// </summary>



/// <returns>



/// true: 文本框不可以编辑



/// flase: 文本框可以编辑



/// </returns>



public override bool GetStandardValuesExclusive(System.ComponentModel.ITypeDescriptorContext context)



{



return true;







}



好了,属性转换器写完了,最后别忘了把这个属性转换器指定到我们刚才所写的属性上哦,代码如下:



[CategoryAttribute("自定义的复杂类型设置(包括自定义类型转换器)"),



TypeConverterAttribute(typeof(PropertyGridApp.FileNameConverter)),



ReadOnlyAttribute(false)]



public string FileName



{



get { return this._fileName;}



set { this._fileName=value; }



}



编译之后的程序画面如下


 
 
本站关键词:
|东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广||东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广||东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广||东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广||东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广||东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广||东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广||东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广||东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广||东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广||东莞网络服务|东莞软件开发|东莞软件设计|东莞主页设计|东莞公司主页|东莞建站套餐|东莞建站服务|东莞商标设计|东莞商标注册|东莞yahoo推广|东莞网络实名|东莞百度baidu推广|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有