回答
您可以使用下面的代碼
System.Timers.Timer _timer1 = new System.Timers.Timer();
_timer1.Elapsed += new ElapsedEventHandler(_timer1_Elapsed);
//1 second
_timer1.Interval = 1000;
_timer1.Start();
//this event will be fired each 1 second
private void _timer1_Elapsed(object sender, ElapsedEventArgs e)
{
}
你應該是可以的,是的。 Ghyath Serhal已經告訴你如何使用計時器課程。唯一缺少的是如何在特定的時間做到這一點。這應該是非常簡單的 - 當您設置計時器時,只需花時間讓您的操作發生和當前時間,即可在幾秒鐘內找到差異,並使用它來擴大時間間隔。您還需要將AutoReset屬性設置爲false,以便它不會立即再次開始倒計時。
如果您改變事件發生的時間,您只需要用觸發器將其掛鉤並將定時器更新爲新時間即可。
編輯補充:如果有人要改變系統時間,可能會導致這個計劃出現問題。我不確定您是否可以輕鬆地使用該功能重置定時器。我猜可能不相關。 :)
你可能(並不知道更多關於你的應用程序,我不能肯定地說)想看看它有點不同。您可以輕鬆編寫一個應用程序,除了輪詢什麼時間以外,什麼都不做,然後運行您需要做的任何事情,但這會讓您的應用程序停滯不前,無所事事,而是大部分時間都會佔用資源。
相反,也許你可以考慮創建一個計劃任務,它可以讓你在任何給定的時間運行你的應用程序。任務計劃程序記錄在http://msdn.microsoft.com/en-us/library/aa383614(VS.85).aspx處,並且在http://taskscheduler.codeplex.com/處有一個託管包裝程序。 (它說它可以在XP或更好的版本上運行,所以希望它能夠滿足你的需求)。
祝你好運,
與計時器的問題是,它並不能保證所經過的事件將恰好在正確的時間被稱爲 - 所有你知道的是,它會一次比大後調用間隔。 解決方案取決於您感興趣的時間的分辨率 - 例如,如果您需要檢查每個小步驟,如果發生特定事件,您可以設置一個計時器,以每小時提起事件,然後使用DateTime.Now來檢查如果系統時間是事件發生的時間。
一個好的策略是始終期望計時器已過時事件發生在Interval設置後幾秒發生,具體取決於系統的繁忙程度。
- 1. flex-timer在rollOver上觸發
- 2. C++ Timer不工作?
- 3. 在c中手動觸發事件#
- 4. Visual studio c#timer不起作用
- 5. 如何在使用Appcelerator的動畫方法中觸發操作?
- 6. 動態調度作業:在groovy中使用cron觸發器
- 7. 觸發器在操作中未觸發
- 8. 如何在GridView中使用Timer自動分頁使用javascript
- 9. Jquery Timer在IE9中不起作用
- 10. C++ timer linux
- 11. Servlet在啓動時使用timer類在常規時間間隔後觸發事件嗎?
- 12. Swift`Timer`在指定的時間間隔之前觸發
- 13. 在C中使用UpdatePanel和Timer進行延遲加載#
- 14. 如何從C++中觸發QML動畫
- 15. 如何在C#中只引發1個Timer事件?
- 16. SVPullToRefresh在觸發時不會觸發動作處理程序
- 17. 如何在Android中使用Java Timer?
- 18. 在gridlink上使用錨點觸發gridlink.click()和anchor.click()動作
- 19. UITapGestureRecognizer動作沒有觸發
- 20. p:commandLink不會觸發動作
- 21. 觸發動作withing元素
- 22. 觸發動態工作集
- 23. 觸摸CALayer時觸發一個動作?
- 24. 自動觸發在MySQL中
- 25. 如何使用滾動頂部在CSS中觸發動畫?
- 26. 在Visual Basic中使用Timer進行動畫?
- 27. 如何在Servlet啓動代碼中使用J2EE Timer Service API?
- 28. 用react-redux觸發事件的動作
- 29. 從移動應用觸發SAS作業
- 30. 在SWF加載動作觸發事件?