您所在的位置: 首页>>读书频道>>设计开发>>.Net系列>>

13.4.3.1 采用计时器来设计一个闹钟程序

http://book.51cto.com  2008-06-18 16:06  周礼  清华大学出版社  我要评论(0)

13.4.3  使用线程操作Windows窗体

一个Windows程序通常可能有很多窗体,但这些窗体都是属于一个线程的。如果你希望在窗体程序处理时进行一些异步的操作,比如后台文件搜索、访问数据库、访问网络等,就必须使用线程或Timer控件。Timer控件在前面我们没有介绍过,它是实现根据用户定义的时间间隔引发事件的计时器。计时器通常用于Windows窗体应用程序执行简单异步操作的情况下,并且必须在窗体中使用,而线程通常可以完成更复杂的异步操作。

计时器控件的使用非常简单,用于Windows窗体的Timer由System.Windows.Forms命名空间下的Timer类创建,常用属性和事件如下(表13.5):

表13.5

   

   

Enabled

设置计时器是否有效

Interval

计时时间间隔,以毫秒为单位

    

   

Tick

达到时间间隔时触发的事件

   

   

Start

开启计时器

Stop

关闭计时器

计时器的工作原理跟日常生活中秒表计时器相似,当开始计时后,每到一定的时间间隔将会触发Tick事件,你可以在Tick事件里设置计时操作的处理逻辑。要使用计时器功能,你可以直接向Windows窗体设计器拖入一个Timer控件,然后设置其Enabled属性为true,Interval属性为一定的时间间隔,以及设置其Tick事件即可使用该计时器。

13.4.3.1  采用计时器来设计一个闹钟程序

下面我们采用计时器来设计一个闹钟程序。要设计这个程序,你首先应该建立一个Windows应用程序,然后设置窗体的Text属性为“闹钟”,并在窗体上加入一个Label标签,并设置标签名称为“lblClock”。此时从工具箱拖入一个Timer控件,并设置其Enable属性为true,其Interval属性为1000;最后设置Timer控件的Tick事件,并在该事件对应的方法里面填入下面代码:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//Tick事件对应的方法,每过一段时间都会执行
private void timer1_Tick(object sender, EventArgs e)
{
DateTime t =DateTime.Now;
this.label1.Font = new Font("宋体", 15);
this.label1.Text = t.ToString();
//8点1分1秒叫你起床
if (t.Hour == 8 && t.Minute==1 && t.Second == 1)
{
MessageBox.Show("懒猪,该起床了!");
}
}
}

运行结果(图13.4):

 
图13.4  闹钟示例

上面我们是使用拖拉控件的方式建立的Timer计时器,你也可以用代码的方式来建立和使用Timer控件,此时你直接创建Timer对象,并设置其Interval属性,订阅其Tick事件,然后使用Start或Stop方法开启或关闭计时器即可。要注意的是,Start方法实际上和Enable属性设置为true效果相同,两者你可以使用其一来开启计时器。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节
Windows Home Server 家用服务器专题
程序员如何成长?
Windows Server 2008专题
windows网络安全指南
赛门铁克诺顿误杀Windows系统文件 导致百万系统崩溃
 
 验证码: (点击刷新验证码)   匿名发表
  • 野蛮生长

  • 作者:冯仑著
  • “地产界的思想家”冯仑纵横生意江湖20年来,第一次系统梳理出书。  三十年来中国民营企业从前公司时代发展到公司时代,21..
Copyright©2005-2008 51CTO.COM 版权所有