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事件;报错
这段代码如何能把调用有参数的函数 ExecTaskpublic void ExecTask(参数一,参数二)
{}不能使用全局变量,因为我这个不是一个定时任务,可能瞬间会添加几个 timer

解决方案 »

  1.   

     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"; }));
            }
      

  2.   

    我写的是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? 怎么使用?谢谢
      

  3.   

    t.Elapsed += delegate { ExecTask(1, 2); }
      

  4.   

    1、委托,同楼上
    2、即使你同时建多个线程,你也可以全局变量,用字典,ID设为TIMER唯一标识,VALUE放你的参数值,明白吗?
      

  5.   

    public void ExecTask()
    {
      InvMethod(参数一,参数二);
    }private void InvMethod(参数一,参数二)
    {}
    这样不行么
    在timer的事件里 调用方法