none
使用Timer物件時~要怎麼計算他跑的次數? RRS feed

  • 問題

  •  

    本來是用timer物件來設計每5秒執行一次查詢資料表的動作

    但現在想加入每跑一次就+1

    看一天下來查詢了幾次

     

    一般來說這種都用for迴圈

    可是for迴圈裏面必須要加上條件

    但我想不出來條件要設成什麼

    因為我也沒有去設定跑到何時就停止

    反正就一直給他跑下去就對了

     

    麻煩各位大大可以指點迷津好嗎

    感謝...

     

    2008年9月19日 上午 06:03

解答

  •  

     private int iTimerCount = 0;//在timer外加一個變數

     private System.Timers.Timer MyTimer = new System.Timers.Timer();

     void MyTimer _Tick(object sender, EventArgs e)

     {

    iTimerCount ++;//一進timer就加1

    //以下加自己的程式.....

     }

    2008年9月19日 上午 07:07

所有回覆

  •  

     private int iTimerCount = 0;//在timer外加一個變數

     private System.Timers.Timer MyTimer = new System.Timers.Timer();

     void MyTimer _Tick(object sender, EventArgs e)

     {

    iTimerCount ++;//一進timer就加1

    //以下加自己的程式.....

     }

    2008年9月19日 上午 07:07
  • 路過.......

    24*60*60/5=17280

    打擾了.....

    2008年9月22日 下午 05:00
  • 它不是MutliThread 的程式,所以在Run時一定會Delay 所以不可能剛好每次都5秒一次(當然要視它執行的複雜度而定).

    2008年9月23日 上午 12:13
  • Timer 是收 Window Message WM_TIMER

     

    當系統處於繁忙時,會拋棄該次發送的 WM_TIMER ,此外,.Net 實做出來的 WndProc 也不會連續觸發。

     

    而系統沒有拋棄該次發送 WM_TIMER 時,則可保證發送時間為 間隔+-10ms (0 ~ 1 時,實際上是只有加,1 ~ n 是從 0 算的間隔,此時才有可能為減),但你的程式若沒空處理 WM_TIMER 時,就會等到空閒時才處理,連續兩個 WM_TIMER 可能會被拋棄一個。

     

    2008年9月23日 上午 01:56