調用樣本:
執行效果:
2.
實現代碼:
複製代碼 代碼如下:
/// <summary>
2 /// 在指定時間過後執行指定的運算式
3 /// </summary>
4 /// <param name="interval">事件之間經過的時間(以毫秒為單位)</param>
5 /// <param name="action">要執行的運算式</param>
6 public static void SetTimeout(double interval, Action action)
7 {
8 System.Timers.Timer timer = new System.Timers.Timer(interval);
9 timer.Elapsed += delegate(object sender, System.Timers.ElapsedEventArgs e)
10 {
11 timer.Enabled = false;
12 action();
13 };
14 timer.Enabled = true;
15 }
16 /// <summary>
17 /// 在指定時間周期重複執行指定的運算式
18 /// </summary>
19 /// <param name="interval">事件之間經過的時間(以毫秒為單位)</param>
20 /// <param name="action">要執行的運算式</param>
21 public static void SetInterval(double interval, Action<ElapsedEventArgs> action)
22 {
23 System.Timers.Timer timer = new System.Timers.Timer(interval);
24 timer.Elapsed += delegate(object sender, System.Timers.ElapsedEventArgs e)
25 {
26 action(e);
27 };
28 timer.Enabled = true;
29 }
3.
由於System.Timers.Timer 是“基於伺服器的 Timer 是為在多線程環境中用於輔助線程而設計的”,所以在winform中使用時如果要修改UI對象就要注意了,給個在winform中使用的例子:
運行效果: