Отображение цифровых часов с различным временем запуска, чем 00: 00: 00: 00 c #

Я искал, но, похоже, что-то не хватает. Я пытаюсь отобразить цифровые часы, которые начнут отсчет, когда вы нажмете кнопку запуска. Это легко. Я не могу понять, что если я хочу начать часы, скажем, 00: 00: 05: 00, как только часы достигнут своей первой секунды, он отображает 00: 00: 51: 00, а не 00:00: 6:00. Используемый мной код

TimeSpan ts2 = sw2.Elapsed;
currentTime2 = String.Format("{0:}"+hour.ToString("D1")+":{1:}"+min.ToString("D1")
                                         +":{2:}"+sec.ToString("D1")+":{3:}"+ms.ToString("D1"),
                ts2.Hours, ts2.Minutes, ts2.Seconds, ts2.Milliseconds / 10);
txtClock2.Text = currentTime2;

где hour, min, sec, ms - int, заданное значение 0 в первом случае и 0, за исключением int sec, которому присваивается значение 5 во втором случае.

Есть идеи?

c#,time,counter,

-1

Ответов: 2


-1 принято

Более чистое решение было бы использовать ToStringна TimeSpanэкземпляре и использовать строку формата, чтобы получить желаемый результат.

Вот ссылка, показывающая некоторые примеры различных форматов для создания желаемого форматирования.


0
TimeSpan ts1 = sw1.Elapsed;
            txtClock1.Text = String.Format("{0:dd\.hh\:mm\:ss\:ff}", ts1 + tsDiff);

где tsDiff - это время, в течение которого я хочу, чтобы часы начинались, выражаясь как TimeSpan

Это лучший способ сделать это

C #, время, счетчик,
Похожие вопросы
Яндекс.Метрика