使定时器间隔小于 1 ms .Net

Make Timer interval less than 1 ms .Net

我正在尝试制作间隔小于 1 毫秒的计时器

我的尝试:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Timer1.Interval = 0000001
    Timer1.Start()
End Sub

  Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
    ProgressBar1.Increment(+1)
    If ProgressBar1.Value = 100 Then
        Timer1.Stop()
        ProgressBar1.Value = 0
        MessageBox.Show("Done, 1 Ms")
    End If
End Sub

当我使用“0000001”间隔时,间隔值返回“1”。

我的主要目的是制作一个计时器 运行 作为纳秒,以比 1 毫秒更快地增加标签的文本 (+1)。我知道它会每 1 秒产生 (+1000),但我需要让它快于 1 毫秒。

那么,定时器有没有可能比1ms还快?

不幸的是,这是不可能的。有关此问题的更多信息,请参阅 this msdn postStopWatch 对象可用于 精确测量 ,但没有我们在 Timer.

中看到的滴答事件

好吧,我不认为这是可能的,但如果你只是想加快事件的传递,你可以尝试在一个时间间隔内多次调用相同的函数。由于多种原因,这将不准确,但它确实会渗透。另一个问题可能是如果您计划调用函数 100s 或 1000s 或 times 是事件可能与下一个滴答重叠。这取决于 CPU 强度。这可能是也可能不是缺点。您可以添加一个 Timer.Stop(); 和一个 Timer.Start();,但这会限制您可以拥有的最大速度,并且还会进一步降低准确性。