您的位置:首页 > 其它

.net WinForm用户控件开发--(4)用户控件的基本属性设置

2012-07-31 11:58 507 查看
在前几节中,我们演示了怎样进行用户控件开发,大家可能对用户控件中的一些属性的基本设置还存在疑惑,这节我们共同学习下用户控件的基本属性设置。

所谓基本属性设置,就是我们常常看到控件在属性设计器中可以对属性进行设置,有些属性在设计中具有默认值,有些在属性设计器中会弹出一个编辑器,供用户选择值。

这节内容

1.简单数据类型的属性设置

2.复杂数据类型的属性设置

1.简单数据类型的属性设置

简单数据类型,就是.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, 把它的默认值设为新浪微博, 我们说下初始值和默认值的区别

1.初始值是属性定义时候赋的值,当把用户控件拖到窗体上后,默认情况下显示的初始值。

2.一个属性的默认值是非加粗显示,其他值都是加粗显示的。

3.如果想恢复某个属性的默认值,只需要右键单击该属性,选择重置,就可以恢复属性的默认值。



2. 复杂属性的基本设置

复杂类型主要是指引用类型,例如我们自定义的类,或者系统原有的类。复杂属性的设置主要是默认值的设置。

复杂属性的默认值设置不能再使用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;
}


这样我们在属性设计器中就可以通过重置命令,设置默认颜色为蓝色。



这节我们就先写到这里,如果还对属性有更深入的了解,可以参照MSDN
http://msdn.microsoft.com/zh-cn/library/53b8022e(v=vs.80).aspx
http://msdn.microsoft.com/zh-cn/library/ms171724(v=vs.90).aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐