日期:2014-05-19  浏览次数:20814 次

一段关于timer的程序,大家帮忙看看
private   void   Form1_Load(object   sender,   System.EventArgs   e)
{
System.Timers.Timer[]   timers=new   System.Timers.Timer[10];
for(int   i   =   0;   i   <   10;   i++)
{
Class1   c   =   new   Class1();
c.i   =   i+1;
//MessageBox.Show(i.ToString());
timers[i]   =   new   System.Timers.Timer();
timers[i].AutoReset   =   false;
timers[i].Interval   =   (i+1)*1000;
timers[i].Enabled   =   true;//是否执行System.Timers.Timer.Elapsed事件;
timers[i].Elapsed   +=   new   System.Timers.ElapsedEventHandler(c.timerEvent); //执行的事件
}
}


public   class   Class1
{
public   Class1()
{
//
//   TODO:   在此处添加构造函数逻辑
//
}
public   int   i;
public   void   timerEvent(object   source,   System.Timers.ElapsedEventArgs   e)
{
System.Windows.Forms.MessageBox.Show(i.ToString());
}
}

这段程序   弹出对话框时   不是弹出10次   请问问题出在什么地方??

------解决方案--------------------
是弹十次,
你再测试一次。
------解决方案--------------------
是十次啊,是不是//MessageBox.Show(i.ToString());写成MessageBox.Show(i.ToString());了