一:属性转换器(TypeConverter)
1、 下拉列表框的形式:
要使用下拉列表框的形式的属性我们首先要定义一个属性,在这个例子中我定义了一个字符串类型的属性 FileName。
private string _fileName;
public string FileName
{
get { return this._fileName;}
set { this._fileName=value; }
}
定义完属性之后,我们还要自己一个属性转换器。那么什么是属性转换器呢?其实在属性浏览器中只能够识别字符串类型,所以我们要通过属性转换器把我们的属性转换成字符串,还要在属性浏览器改变这个字符串之后在把这个字符串转换成我们自己的属性。大家听起来是不是有一些胡涂了?没关系下面我们做一个属性转换器大家就知道了。
因为在本例中用的属性是字符串类型的所以我们要从System.ComponentModel.StringConverter继承一个新的字符串形式的属性转换器。下面就是这段代码和代码中的注释,相信大家一定能够看懂的:
///
/// 扩展字符串的转换器(实现下拉列表框的样式)
///
public class FileNameConverter:System.ComponentModel.StringConverter
{
///
/// 根据返回值确定是否支持下拉框的形式
///
///
/// true: 下来框的形式
/// false: 普通文本编辑的形式
///
public override bool GetStandardValuesSupported(System.ComponentModel.ITypeDescriptorContext context)
{
return true;
}
///
/// 下拉框中具体的内容
///
public override System.ComponentModel.TypeConverter.StandardValuesCollection GetStandardValues(System.ComponentModel.ITypeDescriptorContext context)