How to set timer in an event handler?

不羁岁月 提交于 2019-12-23 18:15:59

问题


Am currently building an app and I want the timer to start only when I click a particular button.

So is there anyway to start timer once a button is clicked? (I don't want the timer to start as soon as the page loads)


回答1:


Check this post.

//Inside Page Load 
System.Windows.Threading.DispatcherTimer dt = new System.Windows.Threading.DispatcherTimer();
dt.Interval = new TimeSpan(0, 0, 0, 0, 500); // 500 Milliseconds
dt.Tick += new EventHandler(dt_Tick);

Tick Event Handler for your timer

void dt_Tick(object sender, EventArgs e)
{
    // Do Stuff here.
}

Now on your button click event handler you will do

dt.Start();

Hope this helps.




回答2:


By default the Enabled property of timer is false. Hence it will not start on load.
You can have a button click event which starts the timer on clicking it.

    private void btnStartTimer_Click(object sender, EventArgs e)
    {
        timer1.Start();
    }

Add a Timer Tick event which confirms that the timer has started.

    private void timer1_Tick(object sender, EventArgs e)
    {
        MessageBox.Show("Timer Tick");
    }


来源:https://stackoverflow.com/questions/8892995/how-to-set-timer-in-an-event-handler

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!