如何激活计时器?

时间:2013-11-23 13:05:00

标签: c# asp.net .net visual-studio timer

我是asp.net的新手。我正在开发一个网络保护的应用程序,如果用户尝试使用错误的密码登录三次,应该阻止用户。

我将禁用登录按钮10分钟,然后我将启用它。

这是界面

enter image description here

这是计时器代码

protected void timer1_tick(object sender, EventArgs e)
{
    timer--;
    if (timer == 0)
    {
        Button1.Enabled = true;
        Timer1.Enabled = false;
        Label1.Visible = false;
    }
}

但是当我运行应用程序时,10分钟后它会刷新页面而不启用登录按钮

1 个答案:

答案 0 :(得分:2)

如果您使用的是System.Tmers.Timer,请致电:

Timer1.Start();

如果您使用System.Threading.Timer,则应立即开始。构造函数中的第三个参数是dueTime,它是:

  

调用回调之前的延迟时间(以毫秒为单位)。指定Timeout.Infinite以防止计时器启动。指定零(0)立即启动计时器。

Source

因此,如果这不是零,那么在dueTimeperiod都过去之前,您的计时器才会首次触发。所以如果你有:

var timer1 = new Timer(callback, state, 10000, 10000);

第一次发射将在20秒后发射,然后每隔10秒发射一次。如果您希望每10秒触发一次,则需要将{0}指定为dueTime

var timer1 = new Timer(callback, state, 0, 10000);