栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C# > C#教程

C#实现多个计时器记录不同定时时间

C#教程 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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.效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持考高分网。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/121549.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号