您的位置:首页 > 编程语言 > C#

CODE:给c#添加SetTimeout和SetInterval函数

2008-03-08 14:45 218 查看
1.

Javascript中的SetTimeout和SetInterval函数很方便,把他们移植到c#中来。

调用示例:



执行效果:



2.

实现代码:

1 /// <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 }

30

3.

由于System.Timers.Timer 是“基于服务器的 Timer 是为在多线程环境中用于辅助线程而设计的”,所以在winform中使用时如果要修改UI对象就要注意了,给个在winform中使用的例子:



运行效果:



出处:http://wuchang.cnblogs.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: