Vb.net 您可以创建一个没有计时器组件的计时器吗

Vb.net 您可以创建一个没有计时器组件的计时器吗,vb.net,winforms,timer,Vb.net,Winforms,Timer,我正在开发一个应用程序,它需要一个计时器每60秒运行一次,以刷新3270大型机上的信息。我不希望有任何GUI,但我似乎找不到一种方法让计时器在没有滴答声事件的情况下工作,在用户关闭应用程序之前,计时器是否可以一直运行,而应用程序中没有计时器组件?是的。您可以使用(或),并在代码中手动创建 设计师无需使用这些计时器。尝试以下方法: Public Sub Wait(ByVal sec As Integer) sec = sec * 1000 Dim sw As New Stopwat

我正在开发一个应用程序,它需要一个计时器每60秒运行一次,以刷新3270大型机上的信息。我不希望有任何GUI,但我似乎找不到一种方法让计时器在没有滴答声事件的情况下工作,在用户关闭应用程序之前,计时器是否可以一直运行,而应用程序中没有计时器组件?

是的。您可以使用(或),并在代码中手动创建

设计师无需使用这些计时器。

尝试以下方法:

Public Sub Wait(ByVal sec As Integer)
    sec = sec * 1000
    Dim sw As New Stopwatch
    sw.Start()
    Do Until sw.ElapsedMilliseconds >= sec
        Application.DoEvents()
        Threading.Thread.Sleep(1)
    Loop
    sw.Stop()
End Sub


享受=)

使用
系统.线程.计时器来代替。你也可以创建一个新的后台线程,其中包含一个while循环,将你的工作放入其中并使其休眠60秒…基本上与计时器相同。+1@Et1。更多信息可以在秒表上找到:使用Application.DoEvents有点可疑。一般不建议这样做。