意思是,我有一个system.windows.forms.timer的Tick事件,如下:private void timer1_Tick(object sender, EventArgs e)
{
int i=0;//第1句
i++;//第2句
i--;//第3句
}然后再此事件的执行过程中,比如执行到了第2句,我去点击了一个按钮,此时程序会去执行按钮的click事件(对吧?我试的是这样的),在该click事件处理完后,程序又会返回执行timer1_Tick事件中的第2句,第3句一直到执行完timer1_Tick事件。(即使在按钮的Click事件中将tiemr1的Enabled设为false也会返回执行timer1_Tick事件中的剩余语句)。
请问能不能在中间跳出timer1_Tick事件后不再返回来执行剩下的语句?
{
int i=0;//第1句
i++;//第2句
i--;//第3句
}然后再此事件的执行过程中,比如执行到了第2句,我去点击了一个按钮,此时程序会去执行按钮的click事件(对吧?我试的是这样的),在该click事件处理完后,程序又会返回执行timer1_Tick事件中的第2句,第3句一直到执行完timer1_Tick事件。(即使在按钮的Click事件中将tiemr1的Enabled设为false也会返回执行timer1_Tick事件中的剩余语句)。
请问能不能在中间跳出timer1_Tick事件后不再返回来执行剩下的语句?
private void timer1_Tick(object sender, EventArgs e)
{
int i=0;//第1句
if(isreturn) return;
i++;//第2句
i--;//第3句
}Button_Click(..)
{
isreturn = true;
}
如果是这样的话,一楼就完全能满足你的要求的呀。不存在说是每一条语句都要加。
if(isreturn) return;这句话放到timer1_Tick方法中的第一行,不就OK了吗。你再好好理理思路吧,估计是你没理解咱们的意思。
然后点了button后不再执行其它还未执行的事件。
而且我看你的意思,好像是:点button按钮时,timer_Tick中调用的事件的个数还不是固定的。这样的话,只能在每个调用事件前一个个加之前的那句话了。
1.使用timer.Enabled属性用于设置是否启用定时器。
2.timer1.Stop();方法是用于停止计时。
但是以上两种方式都只是让你的timer控件不再起到作用而已。但是对于已经进入到timer1_tick中的事件是不会终止的。因为你没法控制到底程序要执行哪个事件时终止里面的方法呀。除非timer1_tick中的调用的方法就已经有结束timer作用的逻辑(具体还会不会继续下面的其它方法我没试。你自己试试)。
时间到了 也会触发下一个 timer事件你想在timer事件里面 提前返回
就用return