C#实现多个计时器记录不同定时时间
更新时间:2020年12月21日 14:00:38 作者:风无痕丶
这篇文章主要为大家详细介绍了C#实现多个计时器记录不同定时时间,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文实例为大家分享了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.效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Unity报错InvalidOperationException: out of sync的解决
今天在做个东西,发现报错,特此来记录一下,本文介绍了Unity报错InvalidOperationException: out of sync的解决,感兴趣的可以了解一下2021-05-05
C#控件编程之显示信息控件详解(Label、LinkLabel)
这篇文章主要介绍了C#控件编程之显示信息控件详解(Label、LinkLabel),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2025-04-04
C#使用oledb读取excel表格内容到datatable的方法
这篇文章主要介绍了C#使用oledb读取excel表格内容到datatable的方法,涉及C#操作oledb及datatable的相关技巧,需要的朋友可以参考下2015-05-05


最新评论