惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
云风的 BLOG
云风的 BLOG
B
Blog
博客园 - Franky
I
InfoQ
A
About on SuperTechFans
博客园_首页
L
LangChain Blog
量子位
腾讯CDC
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
美团技术团队
V
V2EX
Apple Machine Learning Research
Apple Machine Learning Research
雷峰网
雷峰网
MongoDB | Blog
MongoDB | Blog
Microsoft Azure Blog
Microsoft Azure Blog
月光博客
月光博客
T
The Blog of Author Tim Ferriss
P
Proofpoint News Feed
G
Google Developers Blog
Last Week in AI
Last Week in AI

博客园 - guanfei

如何用Nero刻录ape(带cue)cd镜像?详细点,下载啥,装到哪里 Managing assembly version numbers using Visual Studio .NET and Visual SourceSafe RMA是什么 Page.RegisterClientScriptBlock和Page.RegisterStartupScript有何区别 - guanfei - 博客园 button style - guanfei - 博客园 SQL-SERVER取得中文拼音的函数 DesignMode :: Windows Forms designer and DesignMode property issues 项目管理相关 C#区分中英文统计字符串的长度 什么是毅力? The 30 Minute Regex Tutorial Exception 的性能的影响不大。 调试WebService的一个很好的工具 漫谈C#编程中的多态与new关键字 Object synchronization method was called from an unsynchronized block of code. BUG: The Elapsed event of the System.Timers.Timer class is not raised in a Windows service 全文搜索参考 sql 2000 2005 创建全文索引, 中文的需要中文版的sql sql server 2000 全文索引全解(配合ASP.NET)
关于C#中timer类
guanfei · 2007-08-02 · via 博客园 - guanfei

转 http://www.cnblogs.com/wang123/archive/2006/08/19/481335.html

·关于C#中timer类  在C#里关于定时器类就有3个  
1.定义在System.Windows.Forms里  
2.定义在System.Threading.Timer类里  
3.定义在System.Timers.Timer类里 

System.Windows.Forms.Timer是应用于WinForm中的,它是通过Windows消息机制实现的,类似于VB或 Delphi中的Timer控件,内部使用API  SetTimer实现的。它的主要缺点是计时不精确,而且必须有消息循环,Console  Application(控制台应用程序)无法使用。  
 
System.Timers.Timer和 System.Threading.Timer非常类似,它们是通过.NET  Thread  Pool实现的,轻量,计时精确,对应用程序、消息没有特别的要求。System.Timers.Timer还可以应用于WinForm,完全取代上面的 Timer控件。它们的缺点是不支持直接的拖放,需要手工编码。

例:
使用System.Timers.Timer类
System.Timers.Timer t = new System.Timers.Timer(10000);//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(theout);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;

public void theout(object source, System.Timers.ElapsedEventArgs e)
{
MessageBox.Show("OK!");
}