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效果相同,两者你可以使用其一来开启计时器。
| 回书目 上一节 下一节 |
|
· 08年5月软考网管上午真.. · 性能测试从零开始 目录 · 08年5月软考网工上午真.. · 上周拒绝服务攻击(DDo.. · 08年5月各大网上书店及.. · 2008年5月24日软考试题.. |
· 软件设计师专家临考模.. · 上周网络管理员专家自.. · 网络工程师自测获奖名.. · 08年4月各大网上书店及.. · 系统分析师自测获奖名.. · Linux结课考试自测获奖.. |
|
||||
| · Windows Server 2008专.. · 隐私保护技术探讨 · 绿色IT人健康生存手册 · 网络工程师职业规划与.. · 杀毒软件评测专题 · 访问控制列表(ACL)介绍 · Vista SP1对决XP SP3 · 华为员工自杀频频拷问.. |
· 2008中国互联网大会 · 微软出价446亿美元收购.. · 勇闯IT培训黑色围城 · CISSP认证成长之路 · 解析35岁技术人的价值.. · LAMP技术精解 · AMD Phenom三核处理器.. · 充电计划之热门IT认证.. |
|||
|
||||
| · SOA 面向服务架构 · SQL Server 2008/2005.. · Apache技术专题 · 三层交换技术专题 · SQL Server入门到精通 · Apache技术专题 · 国际文档格式标准开战 · 路由器设置与口令恢复 |
· PHP开发应用手册 · SOA 面向服务架构 · 企业数据恢复指南 · 了解统一威胁管理(UTM).. · 专题:AIX操作系统管理.. · 访问控制列表(ACL)介绍 · 反垃圾邮件技术应用 · ASP.NET 2.0基础开发指.. |
|||
|
||||
| · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · Apache技术专题 · 三层交换技术专题 · Apache技术专题 · 企业数据恢复指南 · 路由器设置与口令恢复 |
· SOA 面向服务架构 · 了解统一威胁管理(UTM).. · 反垃圾邮件技术应用 · 访问控制列表(ACL)介绍 · PHP开发应用手册 · 专题:AIX操作系统管理.. · 交换机故障解决指南 · 三层交换技术专题 |
|||