C# - 定时器(Timer 函数 + timer 控件)

之前因为实验室需要撰写过一个C#实用文档。把他分成专题,分享到博客上来;
当时看了很多资料和博客,如果哪位原博主觉得被冒犯,特此道歉!
请联系我,我将把您的博文连接添加至参考文献列表。

—————因为实例中有一个Timer的控件,因此我建立的都是WinForm工程————————
********timer控件的使用在最后,用 一张图片简介使用方法************



在.net常用的定时器类有下面三种:

  • System.Windows.Forms.Timer类 
  • System.Threading.Timer类
  • System.Timers.Timer类

使用定时器时需要设定参数,如间断时间、定时器计溢出后的回调函数、延时、开始等,定时器的的主要方法有开始、终止等,不同的定时器实现上述的方法会有一些差异,本章会针对具体的定时器一一举例说明

Class Name Function
System.Timers.Timer Server Timers 基于服务器的计时器,位于”工具箱”的“组件”选项卡上
System.Threading.Timer Thread Timers 在编程时使用的线程计时器
System.Windows.Forms.Timer Windows Timers 基于 Windows 的标准计时器,”工具箱”的”Windows 窗体”选项卡上;

—————————————————————————————————–

1. System.Windows.Forms.Timer

从这个定时器的命名空间可以看出,.net设计这个定时器的目的是为了方便程序员在Window Form中使用的定时器。当一个System.Windows.Forms.Timer类被构造时,当前定时器会和当前线程进行关联。而当计时器的计满后,一个定时器消息将被插入到当前线程的消息队列中。当前线程逐一处理消息中的所有消息,并一一派发给各自的处理方法。这样的机制和利用工作者进程定时有很大的区别,System.Windows.Forms.Timer类型并没有涉及多线程的操作,定时器的设置、定时方法的执行都在同一个线程之上。这就意味着System.Windows.Forms.Timer并不能准确计时,尤其当消息阻塞时,定时器的误差将会更大,因为定时器消息只能等待在前面的所有消息处理完后才能得到处理。但是因为System.Windows.Forms.Timer类型的定时器并不涉及多线程的操作,因此是线程安全的,不会发生回调方法重入的问题。

使用步骤如下

1.  System.Windows.Forms.Timer myTimer = 
               new System.Windows.Forms.Timer();//实例化 
2.  myTimer.Tick += new EventHandler(函数名)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值