您好,欢迎访问一九零五行业门户网

C# Timer 定时器应用

关于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定时器的用法。
using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.windows.forms; using system.timers; using system.runtime.interopservices; using system.threading; namespace timer001 { public partial class form1 : form { public form1() { initializecomponent(); } //实例化timer类 system.timers.timer atimer = new system.timers.timer(); private void button1_click(object sender, eventargs e) { this.settimerparam(); } private void test(object source, system.timers.elapsedeventargs e) { messagebox.show(datetime.now.tostring()); } public void settimerparam() { //到时间的时候执行事件 atimer.elapsed += new elapsedeventhandler(test); atimer.interval = 1000; atimer.autoreset = true;//执行一次 false,一直执行true //是否执行system.timers.timer.elapsed事件 atimer.enabled = true; } } }
实现的效果是:每秒弹出系统当前时间,如下图:
以上就是c# timer 定时器应用的内容。
其它类似信息

推荐信息