杜鹏的小代码
中国 陕西 西安

导航

 

      最近刚刚入门VS,使用的语言环境是C#,在我编写一些小程序时经常发现如果有Timer控件同时star,并同时执行各自的事件,有时候会互相起冲突,经过我反复调试,发现代码编写并没有问题,但总会在运行时随机的出现某一个timer被stop,导致这个timer所控制的事件也无法执行。

      郁闷啊,无奈之际,我采用了汇编语言的思想,将每一个timer  star之前加上一段延迟代码。结果就正常了。例如:

      我现在有4个timer,分别是timer1,timer2,timer3,timer4。

      以前的程序是。

      …………

      /*依次启动4个timer*/

     timer1.Star();

     timer2.Star();

     timer3.Star();

     timer4.Star();

     …………

     /*后续其他代码*/< p>

    这样运行就会经常随机的停止其中一个timer控件。

    后来我采用这样的代码,就解决了。

    …………

    /*依次启动4个timer*/

    timer1.Star();

    for (int i = 0; i <10; i++)

    {

        int temp = i;

    }

    timer2.Star();

    for (int i = 0; i <10; i++)

    {

        int temp = i;

    }

    timer3.Star();

    for (int i = 0; i <10; i++)

    {

        int temp = i;

    }

    timer4.Star();

    /*后续其他代码*/

 

    结果就一切都正常了,我也不知道为什么会这样,难道真的会和时钟周期相关?

posted on 2008-08-23 21:07  杜鹏  阅读(1656)  评论(0)    收藏  举报