随笔-96  评论-55  文章-0  trackbacks-5

关于C#中timer类 在C#里关于定时器类就有3个

·关于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!");
}  

posted on 2006-08-19 16:36 感動常在 阅读(13329) 评论(4) 编辑 收藏

评论:
#1楼 2008-06-03 10:09 | jiaxu[未注册用户]
可惜有个问题是不能控制停止么
 回复 引用   
#2楼 2008-08-23 12:57 | ppp[未注册用户]
@jiaxu
t.Enabled = false
应该可以了吧

 回复 引用   
#3楼 2008-12-12 16:38 | zhangliliang[未注册用户]
谢谢
 回复 引用   
QQ:1149015928
昵称:感動常在
园龄:5年6个月
粉丝:9
关注:1
<2006年8月>
303112345
6789101112
13141516171819
20212223242526
272829303112
3456789

搜索

 
 

常用链接

我的标签

随笔分类

随笔档案

最新评论

阅读排行榜

评论排行榜

推荐排行榜