Timer.Tick 函数中的重复消息框
Duplicate Messagebox in Timer.Tick Function
我正在寻找一种方法来(告诉/检查)一个(错误/警告)MessageBox 是否在另一个 运行 函数上仍然打开。我要问的一个例子是:
Imports System.Windows.Forms
Class MainWindow
Dim t As Timer = New Timer
Public Sub load() Handles Me.Loaded
t.Interval = 60000
AddHandler t.Tick, AddressOf tick
t.Start()
End Sub
Public Sub tick()
' if message is not open
MessageBox.Show("Example Error Message", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
' end if
End Sub
End Class
当 tick 事件被触发时,if 语句检查 window 是否打开,如果没有打开则显示消息,如果打开则不显示
我会做这样的事情;
首先声明一个全局布尔变量——类似于 showError 并将其初始化为 True。
之后我将声明一个全局 MsgBoxResult 变量。在这种情况下,我称它为 x。然后我会使用这个代码。
Public Sub tick()
If showError = True then
showError = False
x = MessageBox.Show("Example Error Message", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
If x = MsgBoxResult.Ok Then
showError = True
End If
End If
End Sub
最后的 if 语句主要是检查 MessageBox 是否有 returned 结果。这将始终为假,直到用户单击“确定”。现在因为 MessageBox 只有一个按钮(确定),这个 if 语句将始终 return True,将 showError 设置回 True,从而使 MessageBox 再次出现。
我正在寻找一种方法来(告诉/检查)一个(错误/警告)MessageBox 是否在另一个 运行 函数上仍然打开。我要问的一个例子是:
Imports System.Windows.Forms
Class MainWindow
Dim t As Timer = New Timer
Public Sub load() Handles Me.Loaded
t.Interval = 60000
AddHandler t.Tick, AddressOf tick
t.Start()
End Sub
Public Sub tick()
' if message is not open
MessageBox.Show("Example Error Message", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
' end if
End Sub
End Class
当 tick 事件被触发时,if 语句检查 window 是否打开,如果没有打开则显示消息,如果打开则不显示
我会做这样的事情;
首先声明一个全局布尔变量——类似于 showError 并将其初始化为 True。
之后我将声明一个全局 MsgBoxResult 变量。在这种情况下,我称它为 x。然后我会使用这个代码。
Public Sub tick()
If showError = True then
showError = False
x = MessageBox.Show("Example Error Message", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error)
If x = MsgBoxResult.Ok Then
showError = True
End If
End If
End Sub
最后的 if 语句主要是检查 MessageBox 是否有 returned 结果。这将始终为假,直到用户单击“确定”。现在因为 MessageBox 只有一个按钮(确定),这个 if 语句将始终 return True,将 showError 设置回 True,从而使 MessageBox 再次出现。