用Visual C#开发简单的复合控件
http://tech.ddvip.com 2007年04月09日 社区交流
本文详细介绍用Visual C#开发简单的复合控件
5.时间显示的处理。
到现在,我们就可以增加代码来让我们的控件显示时间了。首先请把timer1的Interval属性设为1000,也就是1秒的时隔。然后双击timer1,在其Tick事件处理过程中增加以下代码:
label1.Text=System.DateTime.Now.ToLongTimeString();这样,每隔一秒钟,我们的Label就会重新显示当前系统时间。最后,请双击TimeLabel控件上的空白处,在出现的TimeLabel_Load事件处理过程中增加以下代码来激活Timer:
timer1.Enabled=true;这样,Timer就会忠心耿耿地开始计算时间,并更新Label上的时间文字了。
6.事件处理。
由于是继承自UserControl的控件,所以TimeLabel从一开始便拥有了Click、DragDrop、FontChanged等事件。我们现在要做的是增加一个自定义事件——Tick,以便通知使用我们控件的窗体时间已经改变了。因为我们只需要简简单单地让这个事件发生,所以不需创建我们自己的代理(delegate)函数,也不需创建特殊的事件处理事据对象。OK,请看下面的代码:
首先在TimeLabel类里增加Tick事件声明:
public event EventHandler Tick;然后给该事件编写一个调用过程,请注意该过程的命名:
protected void OnTick (EventArgs e)
{
if(Tick!=null)
{
Tick(this, e);
}
}另外,在上面处理过的Timer的Tick事件处理过程中,还应增加对OnTick的调用,代码如下:
private void timer1_Tick(object sender, System.EventArgs e)
{
label1.Text=System.DateTime.Now.ToLongTimeString();
OnTick(e);
}7.创建试验项目。
责编:豆豆技术应用
正在加载评论...