我只希望每 5 秒刷新一次 Student function
,在我当前的行为中,我需要单击按钮以便 Student function
刷新,
Private Sub Mainform_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Timer1.Interval = TimeSpan.FromSeconds(5).TotalMilliseconds
Timer1.Start()
End Sub
Public Function Student()
.....
End Function
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Student()
End Sub
更新
考虑到数据库中连接了Student函数(获取数据),当我使用按钮刷新数据时没有出现任何错误,我不知道如何使用计时器并使用它从数据库中获取更新的数据数据库每 5 秒一次
这是我得到的错误
答案 0 :(得分:0)
Windows 窗体是事件驱动的,这意味着应用程序基本上会等待引发事件,然后执行该事件处理程序中的代码。常见的事件是形式的 Load
、Click
的 Button
和 TextChanged
的 TextBox
。如果您在网络上进行了一些适当的研究,您会发现您可以使用 Timer
定期引发其 Tick
事件。您可以在该 Tick
事件处理程序中执行您可以在任何其他事件处理程序中执行的任何代码。
请注意,事件是在 UI 线程上引发的,因此处理程序包含的任何代码都将在 UI 线程上执行。如果该代码需要大量时间来执行,用户会注意到在此期间 UI 冻结。如果您想避免这种情况,您可以使用 System.Timers.Timer
而不是 System.Windows.Forms.Timer
。它将在后台线程上引发其 Elapsed
事件,从而避免冻结 UI。然后,您必须编组到 UI 线程,以便根据您执行的代码更新任何控件,但这是一个不同的问题。