.net WinForm用户控件开发:用户控件的基本属性设置
在前几节中 我们演示了怎样进行用户控件开发 大家可能对用户控件中的一些属性的基本设置还存在疑惑 这节我们共同学习下用户控件的基本属性设置
所谓基本属性设置 就是我们常常看到控件在属性设计器中可以对属性进行设置 有些属性在设计中具有默认值 有些在属性设计器中会弹出一个编辑器 供用户选择值
这节内容
简单数据类型的属性设置
复杂数据类型的属性设置
简单数据类型的属性设置
简单数据类型 就是 NET中常见的类型 例如字符串 整型 浮动型 这些基本数据类型
我们看下这些基本属性
Browsable 指示该属性是否可以在属性设计器中显示 如果TRUE则显示 FALSE则不显示
Category 表示属性的分类
Description 表示属性的描述信息
DefaultValue 表示属性的默认值
下面我们定义了一个用户控件 并自定义了一个属性SecondText 代码如下
public partial class UCLabel : UserControl { public UCLabel() { InitializeComponent(); } private string _sText= Helloworld ;//初始值 /// <summary> /// Browsable表示该属性是否显示在设计器中 TRUE为显示 /// </summary> /// Description表示对属性的描述信息 /// Category表示该属性在属性设计器中的分类 [Browsable(true)] [Category( 文本 )] [Description( 第二文本 )] [DefaultValue( 新浪微博 )]//默认值 public string SecondText { get { return _sText; } set { _sText = value; } } }
从上面的图片中 我们可以看到各个属性在属性设计器中对应的项
在这里有一点要说明 我们把SecondText的初始值设为HelloWorld 把它的默认值设为新浪微博 我们说下初始值和默认值的区别
初始值是属性定义时候赋的值 当把用户控件拖到窗体上后 默认情况下显示的初始值
一个属性的默认值是非加粗显示 其他值都是加粗显示的
如果想恢复某个属性的默认值 只需要右键单击该属性 选择重置 就可以恢复属性的默认值
复杂属性的基本设置
复杂类型主要是指引用类型 例如我们自定义的类 或者系统原有的类 复杂属性的设置主要是默认值的设置
复杂属性的默认值设置不能再使用DefaultValue属性 需要使用Reset方法
如果想判断当前属性是否使用的是默认值 可以使用ShouldSerialize属性名来判断 当然 这两个方法都需要我们自己来实现
如下代码定义了一个颜色复杂属性
//定义属性的初始值为红色 private Color _sColor = Color Red; [Category( 颜色 )] [Description( 第二颜色 )] public Color SecondColor { get { return _sColor; } set { _sColor = value; } } /// <summary> /// 用于判断当前属性是否在使用默认值 /// </summary> /// <returns></returns> public bool ShouldSerializeSecondColor() { return _sColor != Color Blue; } /// <summary> /// 用于设置属性的默认值为蓝色 /// </summary> public void ResetSecondColor() { _sColor = Color Blue; }
这样我们在属性设计器中就可以通过重置命令 设置默认颜色为蓝色
lishixinzhi/Article/program/net/201311/13456