Vb.net 建立一个';超时';windows窗体应用程序中的功能

Vb.net 建立一个';超时';windows窗体应用程序中的功能,vb.net,winforms,timeout,timer,Vb.net,Winforms,Timeout,Timer,有人知道我如何在windows窗体应用程序中构建超时功能吗 这个应用程序是事件驱动的,但我想用一个计时器倒计时10分钟,一个计时器滴答作响,然后我们就让用户超时 我的问题是如何在每次移动或单击鼠标时重置计时器 谢谢你的帮助 欢呼声在设置计时器时。间隔为0时不起作用 Private Sub Form1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles My

有人知道我如何在windows窗体应用程序中构建超时功能吗

这个应用程序是事件驱动的,但我想用一个计时器倒计时10分钟,一个计时器滴答作响,然后我们就让用户超时

我的问题是如何在每次移动或单击鼠标时重置计时器

谢谢你的帮助


欢呼声

在设置计时器时。间隔为0时不起作用

Private Sub Form1_MouseMove(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseMove
    Me.Timer1.Stop()
    Me.Timer1.Start()
End Sub

您可以使用
System.Windows.Forms.Timer

可以将其从工具箱拖动到设计器图面

使用属性窗口将
Interval
属性设置为所需的时间跨度(毫秒),则
Enabled
属性应设置为false

在for load上,将timer
Enabled
属性设置为true

(示例中的事件处理程序是使用c#编写的-对此表示抱歉)

private void Form1\u加载(对象发送方,事件参数e)
{
timer1.Enabled=true;
}

双击计时器刻度事件以注册到该事件,然后关闭计时器刻度上的窗体


私有无效计时器1_刻度(对象发送方,事件参数e)
{
Close();
}

看起来很糟糕,但我认为最好的方法是使用system.timer对象,设置的间隔最多为几毫秒

我曾经看到的是使用一个全局变量,该变量将获取最后一个操作的时间,并且该变量将在每次执行操作时设置为Now(例如使用全局函数)。在计时器已过事件中,检查现在是否大于10分钟限制的最后一个操作,并相应地采取行动

对于多表单应用程序,您可以在每个表单上使用不同的计时器,也可以只在主表单上运行计时器


希望有帮助。

您好,我在哪里可以再次启动计时器?如果“模式”是指
ShowDialog
,并且您在主窗口(应用程序
上的窗口。运行
)中实现此代码,则答案是-是,所有模式窗口也将关闭。