任何人都知道如何在Windows窗体应用程序中构建超时功能。
该应用程序是事件驱动的,但我想某种方式使用一个计时器倒计时10分钟,一个计时器滴答,然后我们超时用户。
我遇到的问题是每次移动或点击鼠标时如何重置计时器。
任何帮助表示感谢。
干杯
答案 0 :(得分:1)
您可以使用System.Windows.Forms.Timer
。
您可以将其从工具箱拖到设计器表面。
使用属性窗口将Interval
属性设置为您想要的时间跨度(毫秒),Enabled
属性应设置为false。
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分钟限制的行动并采取相应行动。
对于多表单应用,您可以在每个表单上使用不同的计时器,也可以只在主表单上运行计时器。
希望有所帮助。