在Windows窗体应用程序中设置“超时”功能

时间:2010-07-29 12:32:37

标签: vb.net winforms timeout timer

任何人都知道如何在Windows窗体应用程序中构建超时功能。

该应用程序是事件驱动的,但我想某种方式使用一个计时器倒计时10分钟,一个计时器滴答,然后我们超时用户。

我遇到的问题是每次移动或点击鼠标时如何重置计时器。

任何帮助表示感谢。

干杯

3 个答案:

答案 0 :(得分:1)

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

您可以将其从工具箱拖到设计器表面。

使用属性窗口将Interval属性设置为您想要的时间跨度(毫秒),Enabled属性应设置为false。

on for load将timer Enabled属性设置为true。

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

private void Form1_Load(object sender, EventArgs e) { timer1.Enabled = true; }

双击计时器标记事件以注册事件,并关闭计时器标记

上的表单

private void timer1_Tick(object sender, EventArgs e) { Close(); }

答案 1 :(得分:0)

在将timer.Interval设置为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

答案 2 :(得分:0)

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

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

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

希望有所帮助。