我的程序开了三个定时器,窗体加载时一个为False,另两个为True,我在按下一个按钮时,将False的定时器打开,但是我可以明显地感觉到这个定时器里的事件没有执行,而且很郁闷的是,它有时候可以,有时候不行。不知道为什么?我认为是不是定时器之间有冲突?若果我改用多媒体定时器,多媒体定时器的优先级是不是比控件式的Timer高呢?
谢谢各位能给我仔细缝隙一下Timer定时器的工作原理和过程.

解决方案 »

  1.   

    一定是你的代码触发不对,我在基类上放了一个Time控件,在产生的四个窗体上都调用,各自执行自己的代码都没问题呢,只是四个窗口的触发都用不同的参数来触发,这样以区分来自不同的窗体的事件。
      

  2.   

    如果觉得不好用,可以试试cnpack(www.cnpack.org)的Timer
      

  3.   

    DunDao(所有这一切都是会有报应的): 
    定时器完全是在进程的主线程中工作,受消息循环的控制,只是在需要的时候给消息队列插入一条消息,如果上一次触发时的消息没有处理完,即使时间到了也不会在此期间触发第二次,因此精度是得不到保证的学习。。
      

  4.   

    谢谢上面的各位,我今天又试了一下,我觉得可能是程序写的时候对几个定时器的操作的逻辑不好,而造成的,我哦也准备使用多媒体定时器,多媒体定时器的优先级比Timer高吗?
      

  5.   

    少用timer,用线程来做。用timer处理一些教学用的东西,或者精度要求不高,处理不复杂的东西还可以。
      

  6.   

    我的代码里也有好多timer,用线程就能避免多用timer吗?能否讲清楚一些呢?
      

  7.   

    现在的现象是,用两个定时器,一个多媒体定时器,一个TIMER。打开 TImer时可以明显地看见多媒体定时器的取法间隔增大,这是为何呢?大家继续讨论。呵呵