1. 程式人生 > 程式設計 >C#實現多個計時器記錄不同定時時間

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),1000);
      t3 = new System.Threading.Timer(new TimerCallback(T3),1000);
      t4 = new System.Threading.Timer(new TimerCallback(T4),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.效果圖:

C#實現多個計時器記錄不同定時時間

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。