首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C#定时器,该如何处理

2013-07-20 
C#定时器使用定时器timer类,我需要手动修改timer.interval属性,修改定时的时间,但是不能新建定时器,有方法

C#定时器
使用定时器timer类,我需要手动修改timer.interval属性,修改定时的时间,但是不能新建定时器,有方法吗??
也就是我一开始初始化了定时器,现在需要重新初始化定时器,用的是同一个定时器,有什么方法吗?? C#
[解决办法]
重新赋值啊
比如改成5秒
timer.Interval = 5000;
赋值以后再等5秒触发
[解决办法]
那个只会修改时间间隔,timer的Enable状态并不会变化
[解决办法]

引用:
Quote: 引用:

那个只会修改时间间隔,timer的Enable状态并不会变化
我找到问题了,是重复初始化的问题,但是现在有出现问题了,就是定时器的时间不准了。6秒钟现在发给我两个数据。。。这个纠结了。

Interva把这个属性改下
[解决办法]
参考官网的例子或者一些博客的例子看好好弄懂timer类先,看楼主的问题就是对Timer这个类不清楚的表现,多使用多测试就好了
[解决办法]
引用:
Quote: 引用:

那个只会修改时间间隔,timer的Enable状态并不会变化
我找到问题了,是重复初始化的问题,但是现在有出现问题了,就是定时器的时间不准了。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;

[解决办法]
禁用,之后重新赋值,启用
[解决办法]
Timer有个Change的方法。
Timer.Change(Timeout.Infinite, Timeout.Infinite);

热点排行