vb.net - 显示模态窗口时如何临时禁用计时器?
问题描述
我有一个带有计时器(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
注意:当没有活动对话框时,即使主窗口最小化或另一个应用程序具有焦点,计时器也必须计时。
解决方案
推荐阅读
- c# - 继续主动创建的对话的问题
- windows - 如何使用 Windows Terminal Ubuntu 打开 .sh 或 .bash 文件?
- ruby-on-rails - 如何在 Rails 中存储纪元时间戳?
- python - 构建 docker 文件时无法安装 pip 包
- assembly - MASM 循环计数器仅显示 '+0' (irvine32)
- r - R - 从大西洋到太平洋视图重新定位 SpatialPolygonsDataFrame 但保留数据
- javascript - 取消选中复选框,并清除表单上的下拉菜单
- javascript - 在嵌入中禁用@everyone
- vba - 如何在文件资源管理器中打开一个单独的进程并使用 vba 进行搜索
- python - 如何从地下天气中提取表格