Как вывести значения Timer в Label
Есть у меня игра "Найди пару". Добавил таймер на форму и хочу выводить это время в label. Типо: "00:01", "00:02", ... "01:01", "01:02". Только начинаю работать с Windows Forms.
private void TimeTick(object sender, EventArgs e)
{
string time;
time = timer2.ToString();
time_text.Text = time;
}
Такой код выводит [System... че то там]
Подскажите, что делаю не так?

Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Таймер служит для вызова обработчика события с определенным интервалом, он не подходит для измерения времени. Попробуйте Stopwatch в дополнение к таймеру.
private readonly Stopwatch stopwatch = new Stopwatch();
private void button1_click(object sender, EventArgs e)
{
stopwatch.Start(); // запустить секундомер
// stopwatch.Stop(); // остановить секундомер
// stopwatch.Restart(); // перезапустить секундомер с нуля
// stopwatch.Reset(); // остановить и сбросить
}
private void TimeTick(object sender, EventArgs e)
{
time_text.Text = stopwatch.Elapsed.ToString("mm\\:ss");
}
То есть секундомер считает время, а Timer занимается обновлением значения этого времени на экране.
Есть еще вот такое решение для продвинутых разработчиков, там секунды можно хоть вручную без секундомера считать.