使计时器间隔小于1毫秒.Net

时间:2018-08-12 05:19:56

标签: .net vb.net visual-studio-2012 dispatchertimer

我正在尝试使计时器的间隔小于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快?

2 个答案:

答案 0 :(得分:0)

不幸的是,这是不可能的。有关此问题的更多阅读,请参见this msdn postStopWatch对象可以准确地用于测量,但是Timer不会出现滴答事件。

答案 1 :(得分:0)

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