循环定时执行程序问题? 解决即结贴!!!!(望得实质性回答)
我ListView里有时间: 
 09:30 
 09:31 
 09:32 
 ... 
 我想在这指定的时间内都执行MessageBox.Show( "OK "); 
 我的代码是: 
 private   void   timer1_Tick(object   sender,   EventArgs   e) 
 { 
 for   (int   j   =   0;   j    <   listView.Items.Count;   j++) 
 { 
             D1   =   listValue.Items[j].Text.Trim(); 
 } 
 while(DateTime.Now.ToString( "HH:mm ")==D1) 
 { 
             MessageBox.Show( "OK "); 
             break; 
 } 
 } 
 问题是:到指定的时间内有时候执行,有时候不执行,如09:30执行,09:31不执行,不知道是什么原因, 
 我的timer1间隔为1000   
 求得到实质性回答. 
------解决方案--------------------简单一点,把timer1间隔设为900就行了。
------解决方案--------------------这怎么会执行呢..只能执行一次吧.   
 把while放在for里就可以了.
------解决方案--------------------timer1的interval的设置?以及start、enabled的设置呢?
------解决方案--------------------定时器原本也不是那么精确的,和程序本身代码效率也有关系的;
------解决方案--------------------貌似D1 如何循环都是取了最后一个值吧
------解决方案--------------------这段代码好象永远都只会显示最后那个时间吧. 
 二楼的正解
------解决方案--------------------不能保证Timer的Tick事件正好能在指定的时间发生!   
 Timer只是在指定的时间间隔内发生,但是发生的时刻未知。
------解决方案--------------------你的代码不是很清楚做什么用途,感觉思路上不太合理。   
 从写代码的直觉上,感觉你的While循环是不需要的,改为一个判断语句放到For循环里面可能才是你需要的逻辑。