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 |
运行结果(图13.4):
|
| 图13.4 闹钟示例 |
上面我们是使用拖拉控件的方式建立的Timer计时器,你也可以用代码的方式来建立和使用Timer控件,此时你直接创建Timer对象,并设置其Interval属性,订阅其Tick事件,然后使用Start或Stop方法开启或关闭计时器即可。要注意的是,Start方法实际上和Enable属性设置为true效果相同,两者你可以使用其一来开启计时器。
| 回书目 上一节 下一节 |