Timer控件使用(System.Timers.Timer)


System.Timers.Timer t =  new System.Timers.Timer(10000);  

//實例化Timer類,設置間隔時間為10000毫秒;   

t.Elapsed +=  new System.Timers.ElapsedEventHandler(theout);  

//到達時間的時候執行事件; 

t.AutoReset = true;  

//設置是執行一次(false)還是一直執行(true);   

t.Enabled = true;

//需要調用 timer.Start()或者timer.Enabled = true來啟動它, timer.Start()的內部原理還是設置timer.Enabled = true;

//調用 timer.Stop()或者timer.Enabled = false來停止引發Elapsed事件, timer.Stop()的內部原理還是設置timer.Enabled = false,最重要的是timer.Enabled = false后會取消線程池中當前等待隊列中剩余任務的執行。

舉例:

class timerExample

{

  int num = 0;

  //IUSObject blinkObj=null;

  System.Timers.Timer t = null;

  public  static  void  Init()

  {

    //if(blinkObj !=null)

    //{

    //  num = 1;

    //  blinkObj.Visible = true;

    //  t.Enable = false;

    //}

    //blinkObj = new IUSObject();

    t = new System.Timers.Timer(1000);

    t.Elapsed += new System.Timers.ElapsedEventHandler(willDo);  

    t.AutoReset = true;  

    t.Enabled = true;

  }

  public  static void  willDo(object sender, System.Timers.ElapsedEventArgs e)

  {

    //blinkObj.Visible = blinkObj.Visible == true ? false : true;

    MessageBox.Show("每隔1000毫秒執行一次");

     

    if(num>=6)

    {

      System.Timers.Timer  t  = (System.Timers.Timer)sender;

      t.Enable = false;

    }

    num += 1;

  }

}

 說明:若要指定timer的循環次數,需通過num輔助 執行,多次執行Init時,需先將timer的elapsed事件停止(即隱去的內容),然后再次綁定

 

隨筆記錄一下,若能幫到大家,很榮幸,幫不到也莫責怪。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM