VB中的计时器不准,如果想要精确的计算可以用api,当然越精确就会越占用cpu。timer.enable=true  什么都不会发生如果原来为真的话。。

解决方案 »

  1.   

    timer控件使用时回调机制,回调时引发事件,执行完后才会继续计时,不会重复执行。
      

  2.   

    同意楼上。你那样做不会出错,只是你的计时器不准了>5ms
      

  3.   

    你需要精确时间的话,不要用时间控件!!就调API
      

  4.   

    楼上各位谢谢了,不过我要做的是间隔一固定的时间进行采样,(而不是只进行一次计时,)然后进行处理,因为要实时处理,我把采样后的数据处理程序放到了Timer1_timer()里,不能确定处理需要多少时间--可能多可能少。<B>那有没有办法满足我实时采样处理的要求,同时还要时间准确(间隔5ms采一次样)呢?</b>
      

  5.   

    用二个time控件。。轮流替换使用就可以做到
      

  6.   

    那如果处理时间为2分钟,是不是要用n个timer啊?
      

  7.   

    想办法缩减你 Timer 事件中的代码,可能需要使用线程来处理。
      

  8.   

    注意:Timer是单线程的,楼上的同志不要担心
      

  9.   

    倒!
    VB的定时器最大间隔实际的精确度不会超过 1/18 秒(55ms左右)的。怎么定5ms?
    用api或定制的控件。
      

  10.   

    Windows 9X下的时间精度只有55ms
      

  11.   

    那楼上的各位,timer的interval属性值实际上是有限制的了,就是说设成1也没用了吗?
      

  12.   

    如果真是这样,那重写也没必要,就直接用API了
      

  13.   

    同意huxiangming(老虎) 的,最小和最大都有一个值的,在这个范围之内还是比较准的,是不是很准我是不知道的,