有操作的话--》会触发一个事件--》定义一个新的timer 假设操作为buttonClick,每个timer并不互相影响 void buttonClick(object sender, System.EventArgs e)
{
 CreateTimer();
}
private void CreateTimer()
{
System.Timers.Timer Timer1 = new System.Timers.Timer();
Timer1.Enabled = true;
Timer1.Interval = 1000;
Timer1.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed);

}
protected void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
System.Windows.Forms.MessageBox.Show("Elapsed!", DateTime.Now.ToString());

}

解决方案 »

  1.   

    试试这样。我这个程序没有结束。
    private Queue q=new Queue();
    private int i=0;
    private ArrayList al=new ArrayList ();
    。private void button1_Click_1(object sender, System.EventArgs e)
    {
     Random r=new Random ();
    q.Enqueue (r.NextDouble ());
    al.Add (i);

      
    } private void timer1_Tick(object sender, System.EventArgs e)
    {

    i++;
    foreach(int a in al)
    {
    if(i==a+15)
                       label1.Text =q.Dequeue ().ToString ();
    }

            
    }
      

  2.   

    忘了说,上面的timer定义为1秒执行一次。
      

  3.   

    如果只是要一次的话: protected void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
    System.Windows.Forms.MessageBox.Show("Elapsed!", DateTime.Now.ToString());
    System.Timers.Timer t1=(System.Timers.Timer) sender;
    t1.Stop();
    }