C#中我想让timer_tick停止后再执行后面的语句,求教高手怎么做?就是说不让timer后面的语句和它并行执行
3个回答
展开全部
只执行一次timer_tick,在里面加上timer.Stop();同时加上你的语句,变成一次性的了,不如直接开线程了
追问
你好,是这样的,我的timer_tick执行30次,30次后停止,然后下一条语句是个写xml文件其中一个元素,由于xml文件中元素位置是固定的,如果把这个语句放在timer里面的话,会造成顺序混乱。用for循环,里面thread.sleep倒是可以,但是我还想每次更新Label控件的值,一旦用了thread,sleep,label更新就看不到了。比如
for(i=1;i<5;i++)
{
thread.sleep(1000);
label1,text=i.tostring();
}
这个label就不能实时更新
追答
明白你的意思了,执行30次刷新label后写xml文件,很好解决,控制执行次数不就结了?
int times=30;
private void timer1_Tick(object sender, EventArgs e)
{
if(times<=0)
{
timer1.Stop();
WriteXml();
return;
}
times--;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
private void Form1_Load(object sender, EventArgs e)
{
timer1.Start();
//你要在timer1_Tick停止后执行的语句
}
private void timer1_Tick(object sender, EventArgs e)
{
//timer1要执行的操作
}
{
timer1.Start();
//你要在timer1_Tick停止后执行的语句
}
private void timer1_Tick(object sender, EventArgs e)
{
//timer1要执行的操作
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询