使用定时器timer类,我需要手动修改timer.interval属性,修改定时的时间,但是不能新建定时器,有方法吗??
也就是我一开始初始化了定时器,现在需要重新初始化定时器,用的是同一个定时器,有什么方法吗??C#

解决方案 »

  1.   

    重新赋值啊
    比如改成5秒
    timer.Interval = 5000;
    赋值以后再等5秒触发
      

  2.   

    那个只会修改时间间隔,timer的Enable状态并不会变化
      

  3.   

                aTimer = new System.Timers.Timer();
                aTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);
                aTimer.Interval = (6000 * lenthStepTime);//1min-5min            
                aTimer.Enabled = true;上面是我的代码,lenthStepTime是传递的textbox的参数,从1到5就这五个。但是我重新调用这个就出现问题了。
      

  4.   

    参考官网的例子或者一些博客的例子看好好弄懂timer类先,看楼主的问题就是对Timer这个类不清楚的表现,多使用多测试就好了
      

  5.   

    Interva把这个属性改下找到问题了。谢谢
      

  6.   

    你试下这样
          if(aTimer == null)
          {
               aTimer = new System.Timers.Timer();
               aTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);           
          }          
          aTimer.Enabled = false;   //先关闭定时器,重设时间后再开启
          aTimer.Interval = (6000 * lenthStepTime);//1min-5min
          aTimer.Enabled = true;
      

  7.   

    你试下这样
          if(aTimer == null)
          {
               aTimer = new System.Timers.Timer();
               aTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);           
          }          
          aTimer.Enabled = false;   //先关闭定时器,重设时间后再开启
          aTimer.Interval = (6000 * lenthStepTime);//1min-5min
          aTimer.Enabled = true;
    恩,我是初始化位置出了问题,谢谢。
      

  8.   

    具体看看这个MSDN介绍了,你重新设置时间,不是只需要先停止定时器,再把Interval 时间设置下,然后再启用,这时候的定时器就是以你设置好的Interval 时间为准了啊
      

  9.   

    Timer有个Change的方法。
    Timer.Change(Timeout.Infinite, Timeout.Infinite);
      

  10.   

    具体看看这个MSDN介绍了,你重新设置时间,不是只需要先停止定时器,再把Interval 时间设置下,然后再启用,这时候的定时器就是以你设置好的Interval 时间为准了啊。。