Как вывести значения 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 занимается обновлением значения этого времени на экране.


Есть еще вот такое решение для продвинутых разработчиков, там секунды можно хоть вручную без секундомера считать.

→ Ссылка