Секундомер. Остановить - продолжить. Переписал через Stopwatch()
Когда нажимаю на кнопку "Stop" останавливается отображение отсчета времени, но отсчет времени на самом деле не останавливается.
Что можно сделать? Вот код:
DateTime date;
Timer timer=new Timer();
private void buttonStart_Click(object sender, EventArgs e)
{
date = DateTime.Now;
timer.Interval = 10;
timer.Tick += new EventHandler(tickTimer);
timer.Start();
}
private void buttonStop_Click(object sender, EventArgs e)
{
timer.Stop();
}
private void buttonContinue_Click(object sender, EventArgs e)
{
timer.Start();
}
private void tickTimer(object sender, EventArgs e)
{
long tick = DateTime.Now.Ticks - date.Ticks;
DateTime stopWatch = new DateTime();
stopWatch = stopWatch.AddTicks(tick);
labelStopWatch.Text = String.Format("{0:HH:mm:ss}", stopWatch);
}
Переписал код через Stopwatch():
private readonly Stopwatch stopwatch = new Stopwatch();
private void buttonStart_Click(object sender, EventArgs e)
{
stopwatch.Start();
}
private void buttonStop_Click(object sender, EventArgs e)
{
stopwatch.Stop();
}
private void buttonContinue_Click(object sender, EventArgs e)
{
stopwatch.Start();
}
private void TimeTick(object sender, EventArgs e)
{
labelStopWatch.Text = stopwatch.Elapsed.ToString("HH:mm:ss");
}
Где и как запустить TimeTick()?
Источник: Stack Overflow на русском