private void button1_Click(object sender, EventArgs e)
        {               for (int i = 0; i < 9; i++)
            {
                  {执行代码...}
                   timer1.Enabled = true;
                   timer1.Interval = 1000;
          
             }      
        }  private void timer1_Tick(object sender, EventArgs e)
        {
             {执行代码...}
             timer1.Enabled = false;
        }
如何让timer1_Tick事件全部执行完后再进入下一个for循环呢?多谢了。。

解决方案 »

  1.   

    代码块是同步执行的,Timer事件是后台线程异步执行的...你的想法不可能,改改你的思路,要做什么先想清楚了...
      

  2.   

    别在 for循环中控制timer那会乱套的,把东西都放到timer中,做个计数,记到10就停止就行了  private void timer1_Tick(object sender, EventArgs e)
            {
                 if (i == 10) return;
                 timer1.Enabled = false;
                 {执行代码...}
                 timer1.Enabled = true;
                 i++;
            }
      

  3.   

    我是想独行处理一个表里的数据..而每行又需要用到定时器 
    都写在timer中要怎么写呢? 请教..
      

  4.   

    就是说等到timer1_Tick事件执行完了再进入下次循环..这样行不通吗???
    不行的话 怎么解决各位帮帮忙哦
      

  5.   

    为什么要“每行又需要用到定时器”?在一个Tick事件里处理每行不行吗?也就是说把for循环写在Tick事件里不可以吗?
      

  6.   

    我具体的例子是:一个表里 每行一个网址  想要实现的功能是网页刷新到指定次数时开始刷新下一行的网址..这样可以把循环放在Tick事件吗?具体怎么弄呢。。谢谢
      

  7.   

    在Timer的Tick里去做你要做的事情。int times = 0;
    Timer_Tick(...)
    {
       Timer.Stop();
       // Do Something
       times++;
       if (timers < 10)
         Timer.Start();
    }