Задержка секундомера

249
27 августа 2017, 01:57

Создал бесконечный секундомер который отсчитывает от 5 до 0, а когда значение секундомера доходит до нуля, начинает считать заново:

    DispatcherTimer dispatcherTimer;
    dispatcherTimer = new DispatcherTimer();
    dispatcherTimer.Tick += new EventHandler(dispatcherTimer_Tick);
    dispatcherTimer.Interval = new TimeSpan(0, 0, 1);
    dispatcherTimer.Start();
    DateTime stopwatch = new DateTime(0001, 1, 1, 0, 0, 0);
    DateTime date1 = new DateTime(0001, 1, 1, 0, 0, 5);
    private void dispatcherTimer_Tick(object sender, EventArgs e)
    {
        if (date1.CompareTo(stopwatch) != 0)
        {
            date1 = date1.AddTicks(-10000000);
            Secundomer = date1.ToString("mm:ss");
        }
        else
        {
            date1 = date1.AddTicks(60000000);
        }
    }

Проблема в том, что после отсчета до нуля секундомер "думает" пару секунд и только после этого начинает отсчет заново. Как убрать эту задержку?

Answer 1

Он не "думает пару секунд", он продолжает работать как раньше, просто вы одну итерацию не обновляете значение на экране, поэтому вам так кажется. Вынесите вывод времени за пределы if:

private void dispatcherTimer_Tick(object sender, EventArgs e)
{
    if (date1 != stopwatch)
    {
        date1 = date1.AddSeconds(-1);
    }
    else
    {
        date1 = date1.AddSeconds(5);
    }
    Secundomer = date1.ToString("mm:ss");
}
READ ALSO
действие при вылете приложения

действие при вылете приложения

Как выполнить код (к примеру запустить CrashReporterexe) в случае вылета приложения?

228
Повторяемость кода (Web API)

Повторяемость кода (Web API)

ЗдравствуйтеВ процессе написания собственного API, сложилась такая ситуация:

211
Библиотека необходимых классов С#

Библиотека необходимых классов С#

Добрый день! Я тут подумал, а что если написать одну библиотеку где будет все необходимое, но тут возник вопросТак как я не опытный специалист...

176
Как добавить значение в элемент словаря,если внутри него список?

Как добавить значение в элемент словаря,если внутри него список?

Есть словарь валют, содержащий цену валюты и другие дополнительные параметры на биржеИмеет такой вид

263