回答
您可以使用下面的代碼
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. 使用Ajax觸發動作,結果C#
- 3. 如何在C中使用Timer#
- 4. C++ Timer不工作?
- 5. 如何使用Java Swing Timer在每次觸發時執行不同的操作?
- 6. 是否適合在c中使用usleep作爲Timer?
- 7. 在Azure中使用Timer觸發器用於隊列處理的函數
- 8. Yii使動作觸發
- 9. 在@SessionScoped中使用ejb Timer
- 10. C#Timer未正常工作
- 11. 使用jQuery觸發RadMenu下拉動作
- 12. 如何使用oozie觸發sqoop動作
- 13. 在c中手動觸發事件#
- 14. Visual studio c#timer不起作用
- 15. 如何在使用Appcelerator的動畫方法中觸發操作?
- 16. 動態調度作業:在groovy中使用cron觸發器
- 17. 觸發器在操作中未觸發
- 18. NullReferenceException在C#中未處理C#Timer TweetSharp
- 19. 如何在GridView中使用Timer自動分頁使用javascript
- 20. Jquery Timer在IE9中不起作用
- 21. C++ timer linux
- 22. Servlet在啓動時使用timer類在常規時間間隔後觸發事件嗎?
- 23. 手動觸發事件c#
- 24. 在Form_Load事件(VB.NET)之前觸發了Timer事件標記
- 25. Swift`Timer`在指定的時間間隔之前觸發
- 26. 如何在MVC中使用Ajax擴展的Timer-secondtimer c#
- 27. 在C中使用UpdatePanel和Timer進行延遲加載#
- 28. 如何在C#中只引發1個Timer事件?
- 29. 使用觸發器觸發
- 30. 如何從C++中觸發QML動畫