用Visual C#开发简单的复合控件
http://tech.ddvip.com 2007年04月09日 社区交流
本文详细介绍用Visual C#开发简单的复合控件
public TimeLabel()
{
…
}3.添加现有控件。
由于我们是要在现有控件的基础上创建新控件,所以就应该先把可用的现有控件添加到控件设计界面上。请在“工具箱”中双击Label,再双击Timer,两个现有控件依次被添加到我们的设计界面上,如图2:

4.公布控件属性
因为要把时间写入Label的Text属性中,所以我们需要把label1.Text属性公开。请在TimeLabel类中加入以下代码:
public string LabelText
{
get
{
return label1.Text;
}
}注意,这里我们不需要让控件使用者改变label1.Text的值,所以LabelText是个只读属性。
另外,出于美观的考虑,我们这里还要向控件使用者公开一个LabelBackColor属性,用于获得和设置Label的BackColor属性。代码如下:
public Color LabelBackColor
{
get
{
return label1.BackColor;
}
set
{
label1.BackColor=value;
}
}当然,你也可以根据需要再增加一些属性,如字体、控件大小等,让控件使用者可以更加灵活地使用控件。
到这里,我需要向大家补充一点,复合控件创建中的很重要的一条是:任何构成控件(Constituent Control)的属性必须要通过加入复合控件的属性来公开,而不要直接把构成控件直接以public级别公开。比如说上面,我们就不应把Label控件的访问级别设为public来直接公开(默认是private)。这样作的目的是让我们能更好地把握控件的数据安全,从而只把那些最需要的属性公开给控件用户。
责编:豆豆技术应用
正在加载评论...