Winform 工具箱中可以直接往 winform 上拖放一个 Timer 对象,然后可以设定属性:
- Enabled: True / False,设置成 True ,表示在创建该窗口的时候即开始计时;
- Interval: 触发预订事件的时间间隔,单位是毫秒,如果需要设定 5 秒,则输入 5000;
可以设定一个事件:
- Tick: 满足预设时间之后,触发本事件
当然,也完全可以自行用代码定义,如下:
Timer LogoffTimer;
int LogoffSeconds;
private void Form_Load(object sender, EventArgs e)
{
LogoffSeconds = 10;
LogoffTimer = new Timer();
LogoffTimer.Interval = LogoffSeconds * 1000;
LogoffTimer.Tick += new EventHandler(LogoffTimer_Tick);
LogoffTimer.Enabled = true;
}
void LogoffTimer_Tick(object sender, EventArgs e)
{
this.Close();
}
private void ResetLogoffTimer()
{
LogoffTimer.Enabled = false;
LogoffTimer.Enabled = true;
}
private void btn_Click(object sender, EventArgs e)
{
this.ResetLogoffTimer();
}
上面例子中点击按钮 btn,会重置计时器:
LogoffTimer.Enabled = false;
LogoffTimer.Enabled = true;
LogoffTimer.Enabled = true;
计时器从0开始重新计算,而不会“暂停”,也就是如果 8 秒钟的时候点击了按钮 btn,则需要再等待 10 秒才会触发 LogoffTimer_Tick 。