如何往timer里调用的函数传参

wenjoy 2013-01-17 10:41:33
System.Timers.Timer t = new System.Timers.Timer(1000);
t.Elapsed += new System.Timers.ElapsedEventHandler(ExecTask(参数一,参数二));
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;

报错
这段代码。。。如何能把调用有参数的函数 ExecTask

public void ExecTask(参数一,参数二)
{

}

不能使用全局变量,因为我这个不是一个定时任务,可能瞬间会添加几个 timer
...全文
640 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kinglot 2013-01-18
  • 打赏
  • 举报
回复
1、委托,同楼上 2、即使你同时建多个线程,你也可以全局变量,用字典,ID设为TIMER唯一标识,VALUE放你的参数值,明白吗?
Castiel丶Luo 2013-01-18
  • 打赏
  • 举报
回复
public void ExecTask() { InvMethod(参数一,参数二); } private void InvMethod(参数一,参数二) { } 这样不行么 在timer的事件里 调用方法
wenjoy 2013-01-17
  • 打赏
  • 举报
回复
急啊。。求解求解。。。
wenjoy 2013-01-17
  • 打赏
  • 举报
回复
我写的是windows服务。。没有 label 采用了这种方法 http://blog.csdn.net/commandos/article/details/1822212 但是调用的时候还是报错啊? TimerTask 这个类就是上面链接里 定义的类 TimerTask t1 = new TimerTask(); t1.TASKID = TaskID; t1.Elapsed += System.Timers.ElapsedEventHandler(TimerEvent()); 怎么传sender 和 e? 怎么使用?谢谢
  • 打赏
  • 举报
回复
System.Timers.Timer t = new System.Timers.Timer(1000); t.Elapsed += new System.Timers.ElapsedEventHandler(ExecTask); t.AutoReset = true;//设置是执行一次(false)还是一直执行(true); t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件; public void ExecTask(object sender, ElapsedEventArgs e) { this.Invoke(new Action(() => { label1.Text += "a"; })); }
yuefeng_sihu 2013-01-17
  • 打赏
  • 举报
回复
t.Elapsed += delegate { ExecTask(1, 2); }
wenjoy 2013-01-17
  • 打赏
  • 举报
回复
顶起,在线等

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧