首页 > 解决方案 > 显示模态窗口时如何临时禁用计时器?

问题描述

我有一个带有计时器(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

注意:当没有活动对话框时,即使主窗口最小化或另一个应用程序具有焦点,计时器也必须计时。

标签: vb.net

解决方案


推荐阅读