我想实现这么个效果,
  private void button1_Click(object sender, EventArgs e)
        {            for (int i = 0; i < 10; i++)
            {
                if (i == 3)
                {                    run();
                    
                }
            }
        }        private void timer1_Click(object sender, EventArgs e)
        {
             do something...
            if (...)
            {
                timer1.Enabled = false;
            }
            
        }
        private void run()
        {
            this.timer1.Enabled = true;
            this.timer1.Interval = 10;
        }我想当i==3时做timer1_Click中的事,做完后再跳回while语句执行剩下的内容。可不知怎么能实现,这么写的话好像 必须等while语句全执行完 了才会执行time1_Click(),初学c#,大家帮帮忙

解决方案 »

  1.   

    i==3时直接调用timer1_Click,如果timer1_Click中没有用到参数,两个参数传null就行了,如果用到了,需要适当构造,sender一般用this.timer1,第二个参数随便new一个EventArgs
      

  2.   

    楼上的不行啊,这样只进行一次timer1_Click结束了,又跳回while语句进行接下来的循环。我想实现的效果是进行多次timer1——Click再跳回,照楼上那样我就不要用timer控件了,直接写个函数就得了。
      

  3.   

    没有人懂吗?感觉c#这个地方好冷清。我的timer不是白写的…………,不是单纯调用一个函数……
      

  4.   

    是你表达问题好不好,你说了你不想在while执行完再执行timer1_Click,那么我告诉你了在run之后就调用timer1_Click(null,null);有错吗?不要自己表达不明白,还埋怨大家好不好