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
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
相关文章推荐
- 给c#添加SetTimeout和SetInterval函数(.NET Framework 3.5 System.Action命名空间)
- 给c#添加SetTimeout和SetInterval函数
- C# winform通过ThoughtWorks.QRCode生成二维码解码可以添加logo
- C#遍历ContextMenuStrip右键菜单中包含子菜单的所有菜单并添加事件
- codemirror 小功能的添加(点击删除默认的提示语)
- C#数组添加元素
- C# comboBox从数据库中添加项
- C# Qrcode生成二维码支持中文,带图片,带文字 2015-01-22 15:11 617人阅读 评论(1) 收藏
- 比较核心的技术了 虚拟ip的一种实现方式(手工添加和C#添加)
- VS2010添加类失败问题,弹出错误框,提示 CodeModel操作失败,无法访问标记数据库
- C# 为应用添加自动更新和运行异常信息捕获
- c#在字符中四位一组添加\u构成Unicode编码
- C#控制台基础 list<int>添加元素并输出实例
- Call C# code from C++
- Visual Studio Code 1.8版本添加了Hot Exit、Zen Mode及更多调试选项
- 向C#的String类添加按字节截取字符串的扩展方法
- C#4.0新Feature官方文档和Sample Code下载 [本文提供Office编程的一段Sample Code作为预览]
- C# 通过服务启动窗体(把窗体添加到服务里)实现用户交互的windows服务
- C#委托Code
- C# winfrom在Panel下面动态添加空间