做了个小程序 用System.Timers.Timer计时器 定时触发事件 可是打包后 程序在其他机器上运行计时器就不管用了 谁碰到过类似的事情 跪求解答timer计时器

解决方案 »

  1.   

     System.Timers.Timer timer = new System.Timers.Timer(1000);
                timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Elapsed);
                timer.Enabled = true;
                timer.Start();
    就这么多 在我机器是能够触发的
      

  2.   

    Timer_Elapsed这个方法里,都做了什么事情.
      

  3.   

    在Timer_Elapsed中加上一段检测代码,先验证是否没有触发计时器
      

  4.   

    确认:
    1.程序正常启动了
    2.timer正常启动了
    3.第一次触发是要等到你设定的Interval后,要想立即开始,需要你自己调用一下事件处理
      

  5.   

    还有Timer的触发是可重入的.你需要考虑多线程的问题. 即你要保证你的Timer_Elapsed方法中的代码要在一秒钟内执行完成,否则下次时间又到了,就又启动Timer_Elapsed方法. 建议你的Timer_Elapsed方法代码都注释掉,换成一些的提示的代码,用来确认Timer是否是正常的被触发, 理论上.Timer是不会有问题的,
      

  6.   

    先注释掉timer执行方法里的代码,打上messagebox.show("aaaa");
    看看两个电脑是否一样,这样可以确认问题是在你的代码上还是其他外部环境之类的导致的(有时候代码有错误不报错,我已经见识过2次了。)
      

  7.   


     System.Timers.Timer timer = new System.Timers.Timer(1000);
                 timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Elapsed);
                 timer.Enabled = true;
                 timer.Start();
    这段代码有执行?
      

  8.   

    是不是,.net framework 有问题?
      

  9.   

    运行机器上是不是没装.net framework