定时器没有在指定的时间调用

本文关键字:时间 调用 定时器 | 更新日期: 2023-09-27 18:18:28

我在web应用程序中使用定时器控制。我使用了一个div和一个下拉菜单,其中包含了分钟的值,比如10,20,30。默认情况下,根据get data方法,div是不可见的。现在使用这个下拉菜单,我将选择分钟并添加当前时间,并在会话变量中设置总时间。并得到这个计算时间,并给出定时器的间隔现在我想看到我的div根据指定的时间段使用tick事件。我的div没有显示指定的时间,请帮助我解决这个问题。

private void BindControl()
{
    //ddlTime.Items.Clear();
    List<ListItem> items = new List<ListItem>();
    items.Add(new ListItem("10", "10"));
    items.Add(new ListItem("20", "20"));
    items.Add(new ListItem("30", "30"));
    ddlTime.Items.AddRange(items.ToArray());
}
private void GetData()
{
    ClsCandidateManager ObjCandidateManager = new ClsCandidateManager();
    if ((ObjCandidateManager.CountInterviewScheduled() > 0))
    {
        divReminder.Visible = true;
        tmrReminder.Enabled = false;
        //if (ddlTime.SelectedIndex > 0)
        //{
        //    ClsSessionManager.SetInterval = (DateTime.Now + (ddlTime.SelectedValue * 1000);
        //}
    }
    DataTable dt = ObjCandidateManager.GetScheduledInterviews();
    if (dt != null && dt.Rows.Count > 0)
    {
        grdInterviewInfo.DataSource = dt;
    }
    else
    {
        grdInterviewInfo.DataSource = ClsSingleton.BlankTable;
    }
    grdInterviewInfo.DataBind();
}

protected void tmrInterview_Tick(object sender, EventArgs e)
{
    divReminder.Visible = true;
}
protected void btnOk_Click(object sender, EventArgs e)
{
    if (ddlTime.SelectedValue != null)
    {
        //DateTime dt = DateTime.Now;
        ClsSessionManager.SetInterval = DateTime.Now.AddMinutes(Convert.ToInt32(ddlTime.SelectedValue));
        tmrReminder.Interval = (ClsSessionManager.SetInterval).Millisecond;
        divReminder.Visible = false;
        tmrReminder.Enabled = true;
    }
}

定时器没有在指定的时间调用

我可能误解了你想要做的事情但是你实际上并没有在代码的任何地方启动计时器所以你的计时器从来没有真正运行过,你需要使用tmrReminder.Start()你还需要设置new ElapsedEventHandler

tmrReminder.Elapsed += new ElapsedEventHandler('method to be run when time elapses');