我现在有个计时器,要在达到预定时间引发一些事件,代码如下:
private void Form1_Load(object sender, System.EventArgs e)
{
         timer1.Enabled=true;
this.timer1.Tick+=new EventHandler(this.timer1_Tick);
}
private void timer1_Tick(object sender, System.EventArgs e)
{
string[] tim1=new string[100];
tim1.SetValue("10:01:10",0);
tim1.SetValue("10:01:30",1);
tim1.SetValue("10:01:40",2);
//问题是:我现在的字符串就三个成员,如果我要是有上百个成员的话,来怎么处理这个问题呢?
//不要告诉我象下面的方法一样一一列出呀!
//我要是做个while循环倒是可以完成任务,不过这是在考虑系统不死机情况下可以胜任,不过
//系统要死机了,重新启动就会遇到while循环永不满足的问题,这个循环代码如下:
///////////////////////////////////////////////////////
//先在public class里声明一个private int i;
//while(true)
//{  if(tim1[i]==DateTime.Now.ToLongTimeString())
// {
//           //do something usefull;
//          i++;
//   }
//}
///////////////////////////////////////////////////////
////////////////////////////////////////////////////////
成员少时,一个个列举代码如下:

if (tim1[0]==DateTime.Now.ToLongTimeString())
{
   //do something
}
 if(tim1[1]==DateTime.Now.ToLongTimeString())
{
   MessageBox.Show("测试成功?");
}
if (tim1[2]==DateTime.Now.ToLongTimeString()) 
{
   MessageBox.Show("测试成功");
}
}

解决方案 »

  1.   

    补充以下,我做的是winform应用程序,用线程也可以,不过我要在配置比较低的机子上运行,
    用线程太耗机子了,很容易死掉的!
      

  2.   

    怎么没人来帮我呀?
    祈祷ing!!!!
      

  3.   

    private void timer1_Tick(object sender, System.EventArgs e)
    {
    string[] tim1=new string[100];
    tim1.SetValue("10:01:10",0);
    tim1.SetValue("10:01:30",1);
    tim1.SetValue("10:01:40",2);
    }
    我不太明白,为什么要让timer定时给tim1赋值呢?
      

  4.   

    写在form_load里就可以了!
    写错地方了!
      

  5.   

    几个建议:
    1、千万不要用"=="来判断是不是达到了时间点,不可能刚刚好等于
    2、建议时间点比较的类型测试一下,用字符串快还是用ticks快。(DateTime.Now.Ticks)          
    //问题是:我现在的字符串就三个成员,如果我要是有上百个成员的话,来怎么处理这个问题呢?
    假如你有成千上万个时间点也要看你这些时间点有没有规律,假如有规律处理就会有所不同?:补充以下,我做的是winform应用程序,用线程也可以,不过我要在配置比较低的机子上运行,
    用线程太耗机子了,很容易死掉的!
    谁告诉你用线程容易死机的?windows会对线程进行调度的
      

  6.   

    如果我要是有上百个成员的话,来怎么处理这个问题呢?
    //不要告诉我象下面的方法一样一一列出呀!
    ---
    也许...可能就的一一列出来吧//我要是做个while循环倒是可以完成任务,不过这是在考虑系统不死机情况下可以胜任,不过
    //系统要死机了,重新启动就会遇到while循环永不满足的问题
    -------
    这就解决死循环的问题,和刚才是两回事,例如重新初始化数组
      

  7.   

    我也没看明白,为什么非要在定时器的tick中写这些代码呢?