Vb.net winform和会话超时
我有一个vb.net winform,我想知道如何在其中添加类似会话超时的内容。例如,我将varialbe设置为10分钟,在这10分钟内,如果没有活动(没有鼠标/键盘交互),我想让用户注销。有人能就如何使这项工作在这个问题上提出一些看法吗 第一个问题,为什么要在winform中执行。我们通常在web表单中使用这些东西。但是,即使您想在WinForms中使用这样的东西,您也需要使用Vb.net winform和会话超时,vb.net,winforms,session-timeout,Vb.net,Winforms,Session Timeout,我有一个vb.net winform,我想知道如何在其中添加类似会话超时的内容。例如,我将varialbe设置为10分钟,在这10分钟内,如果没有活动(没有鼠标/键盘交互),我想让用户注销。有人能就如何使这项工作在这个问题上提出一些看法吗 第一个问题,为什么要在winform中执行。我们通常在web表单中使用这些东西。但是,即使您想在WinForms中使用这样的东西,您也需要使用计时器类。 无论何时遇到活动,只要调用Stop然后立即调用Start即可重置计时器。在计时器的勾号事件中放置您想要的任
计时器类
。
无论何时遇到活动,只要调用
Stop
然后立即调用Start
即可重置计时器。在计时器的勾号事件中放置您想要的任何代码(假设这是System.Windows.Forms.Timer
),您就可以全部设置好了。第一个问题,为什么要在winform中执行此操作。我们通常在web表单中使用这些东西。但是,即使您想在WinForms中使用这样的东西,您也需要使用计时器类
。
无论何时遇到活动,只要调用Stop
然后立即调用Start
即可重置计时器。在计时器的勾号事件中放置您想要的任何代码(假设这是System.Windows.Forms.Timer
),您就可以全部设置好了。第一个问题,为什么要在winform中执行此操作。我们通常在web表单中使用这些东西。但是,即使您想在WinForms中使用这样的东西,您也需要使用计时器类
。
无论何时遇到活动,只要调用Stop
然后立即调用Start
即可重置计时器。在计时器的勾号事件中放置您想要的任何代码(假设这是System.Windows.Forms.Timer
),您就可以全部设置好了。第一个问题,为什么要在winform中执行此操作。我们通常在web表单中使用这些东西。但是,即使您想在WinForms中使用这样的东西,您也需要使用计时器类
。
无论何时遇到活动,只要调用Stop
然后立即调用Start
即可重置计时器。在定时器的滴答声事件中放入您想要的任何代码(假设这是System.Windows.Forms.Timer
),您就可以全部设置好了。如果您正在寻找一种方法来检测应用程序之外的输入,Amit的建议将不起作用
看看情况是否如此。调用并检查最后一个输入值应该会给您一些提示
如果您不担心用户离开您的应用程序,并且在未使用应用程序后注销,请使用Amit的方法在输入事件上重置计时器。如果您正在寻找一种方法来检测应用程序之外的输入,Amit的建议将不起作用
看看情况是否如此。调用并检查最后一个输入值应该会给您一些提示
如果您不担心用户离开您的应用程序,并且在未使用应用程序后注销,请使用Amit的方法在输入事件上重置计时器。如果您正在寻找一种方法来检测应用程序之外的输入,Amit的建议将不起作用
看看情况是否如此。调用并检查最后一个输入值应该会给您一些提示
如果您不担心用户离开您的应用程序,并且在未使用应用程序后注销,请使用Amit的方法在输入事件上重置计时器。如果您正在寻找一种方法来检测应用程序之外的输入,Amit的建议将不起作用
看看情况是否如此。调用并检查最后一个输入值应该会给您一些提示
如果您不担心用户离开您的应用程序,并且在未使用该应用程序后注销,请使用Amit的方法在输入事件上重置计时器。我建议您使用该事件。
不需要P/Invoke
Public Class Form1
Private WithEvents _timer As Timer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 10 seconds for testing
Me._timer = New Timer With {.Interval = 10000, .Enabled = True}
AddHandler Application.Idle, AddressOf Me.Application_Idle
End Sub
Private Sub Application_Idle(sender As Object, e As EventArgs)
Me._timer.Stop()
Me._timer.Start()
End Sub
Private Sub Timer_Tick(sender As Object, e As EventArgs) Handles _timer.Tick
Me._timer.Stop()
RemoveHandler Application.Idle, AddressOf Me.Application_Idle
' Do something to log the user out
Me.Close()
End Sub
End Class
我建议你使用这个活动。
不需要P/Invoke
Public Class Form1
Private WithEvents _timer As Timer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 10 seconds for testing
Me._timer = New Timer With {.Interval = 10000, .Enabled = True}
AddHandler Application.Idle, AddressOf Me.Application_Idle
End Sub
Private Sub Application_Idle(sender As Object, e As EventArgs)
Me._timer.Stop()
Me._timer.Start()
End Sub
Private Sub Timer_Tick(sender As Object, e As EventArgs) Handles _timer.Tick
Me._timer.Stop()
RemoveHandler Application.Idle, AddressOf Me.Application_Idle
' Do something to log the user out
Me.Close()
End Sub
End Class
我建议你使用这个活动。
不需要P/Invoke
Public Class Form1
Private WithEvents _timer As Timer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 10 seconds for testing
Me._timer = New Timer With {.Interval = 10000, .Enabled = True}
AddHandler Application.Idle, AddressOf Me.Application_Idle
End Sub
Private Sub Application_Idle(sender As Object, e As EventArgs)
Me._timer.Stop()
Me._timer.Start()
End Sub
Private Sub Timer_Tick(sender As Object, e As EventArgs) Handles _timer.Tick
Me._timer.Stop()
RemoveHandler Application.Idle, AddressOf Me.Application_Idle
' Do something to log the user out
Me.Close()
End Sub
End Class
我建议你使用这个活动。
不需要P/Invoke
Public Class Form1
Private WithEvents _timer As Timer
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 10 seconds for testing
Me._timer = New Timer With {.Interval = 10000, .Enabled = True}
AddHandler Application.Idle, AddressOf Me.Application_Idle
End Sub
Private Sub Application_Idle(sender As Object, e As EventArgs)
Me._timer.Stop()
Me._timer.Start()
End Sub
Private Sub Timer_Tick(sender As Object, e As EventArgs) Handles _timer.Tick
Me._timer.Stop()
RemoveHandler Application.Idle, AddressOf Me.Application_Idle
' Do something to log the user out
Me.Close()
End Sub
End Class
因此,在登录期间,根据变量启动计时器(10分钟)。每当有活动时,通过调用stop重置计时器,然后再次调用start?如何检测是否存在活动?你能举个例子吗?谢谢你的建议。我能够在我的应用程序中实现此功能。请将其中一个答案标记为正确,或发布您自己的答案。因此,在登录期间,根据变量启动计时器(10分钟)。每当有活动时,通过调用stop重置计时器,然后再次调用start?如何检测是否存在活动?你能举个例子吗?谢谢你的建议。我能够在我的应用程序中实现此功能。请将其中一个答案标记为正确,或发布您自己的答案。因此,在登录期间,根据变量启动计时器(10分钟)。每当有活动时,通过调用stop重置计时器,然后再次调用start?如何检测是否存在活动?你能举个例子吗?谢谢你的建议。我能够在我的应用程序中实现此功能。请将其中一个答案标记为正确,或发布您自己的答案。因此,在登录期间,根据变量启动计时器(10分钟)。每当有活动时,通过调用stop重置计时器,然后再次调用start?如何检测是否存在活动?你能举个例子吗?谢谢你的建议。我可以在我的应用程序中使用此功能。请将其中一个答案标记为正确,或发布您自己的答案。您的应用程序或任何地方没有用户输入?是的,我的应用程序中有用户输入。您的应用程序或任何地方没有用户输入?是的,我的应用程序中有用户输入。您的应用程序或任何地方没有用户输入?是,我的应用中有用户输入。在你的应用中或任何地方没有用户输入?是的,我的应用中有用户输入。我不知道如何设置。你有没有办法给我提供一些示例代码来实现这一点?@user1884032他提供的链接中有示例代码我没有