在不使用定时器的情况下,程序是没有问题的,一旦使用了定时器,程序便出现中断执行的情况,怎么回事呢?有什么方法可以解决呢?xxxx = new System.Timers.Timer();
xxx.Elapsed += new ElapsedEventHandler(sss);
xxx.Interval = 10000;private void sss(object source, ElapsedEventArgs e)
{vvv();}public void vvv()
{
......
while (ttt.Read()){
......
MessageBox.Show("开始计算");//弹出
show(text);//失败
MessageBox.Show("计算结束");//未弹出
......
}
......
}

解决方案 »

  1.   

    System.Timers.Timer是线程计时器,不能跨线程操作UI控件...使用委托...
      

  2.   

    vrhero老师,请问如何委托?Threading.Timer是否适用UI控件的操作?
      

  3.   

    你直接用System.Windows.Forms.Timer类吧,只有这个是UI线程的计时器...关于委托你最好去看书,不是几句话能讲清楚的...
      

  4.   

    谢谢vrhero老师,问题解决了。不过有一个疑问,网上有一种说法,System.Windows.Forms.Timer的计时不精确,那么这个不精确到底到怎样的程度?我的理解,毫秒级的才不精确吧?秒级的没问题吧?
      

  5.   

    精度要看需求...如果你认为秒级就足够的话System.Windows.Forms.Timer的精度是够用的...