当时间大于指定时间时,只显示一次消息框

时间:2015-02-14 17:53:47

标签: vb.net

我制作了一个小程序,用于检测用户何时闲置。 当空闲时间大于10秒时,程序应该只打开一个消息框。但在我的情况下,运行多个消息框。我知道它为什么会发生,但我不知道如何解决它。 感谢您的帮助。

If (inactiveTime Is Nothing) Then

ElseIf (inactiveTime.Value.TotalSeconds > 10000) Then
        'Idle          
        Textbox1.text = "User is idle"
        Msgbox("User is idle")          
Else
        'Active           
        Textbox1.text = "User is active"                   
    End if
End if

1 个答案:

答案 0 :(得分:0)

尝试使用类范围的布尔变量作为标志来指示您处于空闲模式,在用户激活时重置它,还要确保在用户再次激活时重置非活动时间。

Dim idle As Boolean = False

然后

If (inactiveTime Is Nothing) Then

ElseIf (inactiveTime.Value.TotalSeconds > 10000) Then
    'Idle  
    If Not idle Then
        Textbox1.text = "User is idle"
        MsgBox("User is idle")
    End If
    idle = True
Else
    'Active    
    idle = False
    inactiveTime = 0
    Textbox1.text = "User is active"
End If