C#定时器 使用定时器timer类,我需要手动修改timer.interval属性,修改定时的时间,但是不能新建定时器,有方法吗??也就是我一开始初始化了定时器,现在需要重新初始化定时器,用的是同一个定时器,有什么方法吗??C# 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 重新赋值啊比如改成5秒timer.Interval = 5000;赋值以后再等5秒触发 那个只会修改时间间隔,timer的Enable状态并不会变化 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就这五个。但是我重新调用这个就出现问题了。 参考官网的例子或者一些博客的例子看好好弄懂timer类先,看楼主的问题就是对Timer这个类不清楚的表现,多使用多测试就好了 Interva把这个属性改下找到问题了。谢谢 你试下这样 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; 你试下这样 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;恩,我是初始化位置出了问题,谢谢。 具体看看这个MSDN介绍了,你重新设置时间,不是只需要先停止定时器,再把Interval 时间设置下,然后再启用,这时候的定时器就是以你设置好的Interval 时间为准了啊 Timer有个Change的方法。Timer.Change(Timeout.Infinite, Timeout.Infinite); 具体看看这个MSDN介绍了,你重新设置时间,不是只需要先停止定时器,再把Interval 时间设置下,然后再启用,这时候的定时器就是以你设置好的Interval 时间为准了啊。。 为什么DBHelp这个或相似类,里面关于执行SQL这个都用static 高分 急在线等 C#调用.exe文件 自动分配位置的问题, 继续发问 能否帮忙介绍一下接口,越简单越明了越好,谢谢 用sharpzip可以进行字符串的压缩吗?如果不能有其它压缩字符串的方法吗? 菜鸟问题 数据库字段类型nvarchar(max)可以存放多少汉字或字母 文件操作 高手请进!(在线等!) 初级Asp.net问题 有关句柄的问题 wpf window句柄
比如改成5秒
timer.Interval = 5000;
赋值以后再等5秒触发
aTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);
aTimer.Interval = (6000 * lenthStepTime);//1min-5min
aTimer.Enabled = true;上面是我的代码,lenthStepTime是传递的textbox的参数,从1到5就这五个。但是我重新调用这个就出现问题了。
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;
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(Timeout.Infinite, Timeout.Infinite);