c# 怎么设置 System.Timers.Timer执行次数 t5.AutoReset = false;
3个回答
展开全部
AutoReset 获取或设置一个值,该值指示 Timer 是应在每次指定的间隔结束时引发 Elapsed 事件,还是仅在指定的间隔第一次结束后引发该事件。
这个仅仅是指定执行一次(false)或多次,不能指定超过1次的具体次数
要想执行多次,你可以从Timer派生个自己的类,添加个属性num
或者在Timer前边要有个变量记录次数,比如
int num;
num = 5;
Timer mytimer = new Timer(1000);
然后,在Timer.Elapsed事件处理中判断num:
第一种方法,派生类,添加成员num
ElapsedEventHandler(Object sender, ElapsedEventArgs e)
{
MyTimer timer = (MyTimer)Sender;
if(timer.num-- <= 0) // 每次事件先判断num <=0 再num--
{ timer.Enabled = false;}
else
{ ......你的处理代码}
}
第二种方法
ElapsedEventHandler(Object sender, ElapsedEventArgs e)
{
Timer timer = (Timer)Sender;
if(this.num-- <= 0) // 每次事件先判断num <=0 再num--
{ timer.Enabled = false;}
else
{ ......你的处理代码}
}
这个仅仅是指定执行一次(false)或多次,不能指定超过1次的具体次数
要想执行多次,你可以从Timer派生个自己的类,添加个属性num
或者在Timer前边要有个变量记录次数,比如
int num;
num = 5;
Timer mytimer = new Timer(1000);
然后,在Timer.Elapsed事件处理中判断num:
第一种方法,派生类,添加成员num
ElapsedEventHandler(Object sender, ElapsedEventArgs e)
{
MyTimer timer = (MyTimer)Sender;
if(timer.num-- <= 0) // 每次事件先判断num <=0 再num--
{ timer.Enabled = false;}
else
{ ......你的处理代码}
}
第二种方法
ElapsedEventHandler(Object sender, ElapsedEventArgs e)
{
Timer timer = (Timer)Sender;
if(this.num-- <= 0) // 每次事件先判断num <=0 再num--
{ timer.Enabled = false;}
else
{ ......你的处理代码}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询