C#实现多个计时器记录不同定时时间
程序员文章站
2022-03-21 11:12:50
本文实例为大家分享了c#实现多个计时器记录不同定时时间的具体代码,供大家参考,具体内容如下1.定义timer类、定义委托//定义timer类system.threading.timer t3,t1,t...
本文实例为大家分享了c#实现多个计时器记录不同定时时间的具体代码,供大家参考,具体内容如下
1.定义timer类、定义委托
//定义timer类 system.threading.timer t3,t1,t2,t4; //定义委托 public delegate void setcontrolvalue(object value);
2.初始化
private void inittimer()//初始化 { t1= new system.threading.timer(new timercallback(t1), null, timeout.infinite, 1000); t2 = new system.threading.timer(new timercallback(t2), null, timeout.infinite, 1000); t3 = new system.threading.timer(new timercallback(t3), null, timeout.infinite, 1000); t4 = new system.threading.timer(new timercallback(t4), null, timeout.infinite, 1000); }
3.因为要实现定时时间的不同,所以要定义不同的整型变量时、分、秒:
//一号机 int hour = 0; int minute = 0; int second = 0; //二号机 int hour2 = 0; int minute2 = 0; int second2 = 0; //三号机 int hour3 = 0; int minute3 = 0; int second3 = 0; //四号机 int hour4 = 0; int minute4 = 0; int second4 = 0;
4.时间执行方法并输出:
private void t4(object state)// 时间t方法 { try { second4++; if (second4 == 60) { minute4++; second4 = 0; } if (minute4 == 60) { hour4++; minute4 = 0; } this.invoke(new setcontrolvalue(s4), second4); this.invoke(new setcontrolvalue(s4), minute4); this.invoke(new setcontrolvalue(s4), hour4); } catch { } } private void s4(object value) { textbox4.text = hour4.tostring() + "时" + minute4.tostring() + "分" + second4.tostring() + "秒"; } private void t2(object state) { try { second2++; if (second2 == 60) { minute2++; second2 = 0; } if (minute2 == 60) { hour2++; minute2 = 0; } this.invoke(new setcontrolvalue(s2), second2); this.invoke(new setcontrolvalue(s2), minute2); this.invoke(new setcontrolvalue(s2), hour2); } catch { } } private void s2(object value) { textbox2.text = hour2.tostring() + "时" + minute2.tostring() + "分" + second2.tostring() + "秒"; }
5.定时器的执行和停止,分别用{你定义的.change(0, 1000)}、{你定义的.change(0, 1000)}表示,如:
t1.change(0, 1000); t1.change(timeout.infinite, 1000);
6.效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 基于Ajaxupload的多文件上传操作
下一篇: golang gin框架获取参数的操作