我有一个带有计时器的窗口(System.Windows.Forms.Timer),它每分钟都会滴答一声并刷新DataGridView。每当显示任何模式窗口(例如消息对话框)时,我都希望暂时禁用刻度线。我当然可以这样:
Timer1.Enabled=False
'show modal dialog here
Timer1.Enabled=True
有什么想法可以使它更“好”吗?这样,当显示任何对话框时,计时器会自动暂停吗?
一般来说,我相信就足够了:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
If (modal any modal dialog active) Then Exit Sub
....
End Sub
注意:当没有活动对话框时,即使最小化主窗口或其他应用程序具有焦点,计时器也必须计时。