仅在VB.Net中的第一个计时器刻度事件上执行命令

时间:2014-01-26 21:38:45

标签: vb.net timer

我正在Timer对象tick的每个滴答间隔运行一些代码。

有些代码我只想在第一次打勾时执行一次。我想避免在一些全局计数器中使用if语句只是因为我不想在之后的每个滴答中评估该语句(性能方面看起来相当昂贵,因为我想运行数十万的tick事件尽可能快的时间)。

所以我的问题是,是否有人知道这样做的任何技巧?另外,我想在一个更通用的编程环境中,我有兴趣了解在循环中只执行一次代码片段的可能解决方案/模式,而不使用if语句。

编辑:考虑到这一点,是否有可能有2个指针用于2个独立的例程,其中一个包含第一次执行的代码而另一个不执行。在第一个例程结束时,指向例程的指针可以切换到另一个例程吗?

1 个答案:

答案 0 :(得分:1)

只需编写另一个子来启动计时器。在此子程序中,首先执行您只想执行一次的代码,然后启动计时器。

Private Sub StartTimer(ByRef tmr as Timer)
  DoStuffOnce()
  tmr.Start()
End Sub

如果这不是您想要的,那么您需要详细说明您的问题。

顺便说一句,检查一个布尔变量需要大约几微秒,我怀疑这将是你代码中的速率确定步骤。