Question

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)

Was it helpful?

Solution

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.

OTHER TIPS

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");
    }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top