问题
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