Отображение цифровых часов с другим временем запуска, отличным от 00: 00: 00: 00 c # - PullRequest
0 голосов
/ 24 июня 2018

Я искал, но, похоже, что-то упустил.Я пытаюсь отобразить цифровые часы, которые начнут отсчитываться при нажатии кнопки «Пуск».Это легко.Чего я не могу понять, так это того, что если я хочу запустить часы, скажем, с 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;

, где час, мин, сек, мс - это целые числа, для которых задано значение 0 в первом случае и 0, кроме int sec, для которого задано значение 5 во втором случае,

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 24 июня 2018
TimeSpan ts1 = sw1.Elapsed;
            txtClock1.Text = String.Format("{0:dd\\.hh\\:mm\\:ss\\:ff}", ts1 + tsDiff);

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

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

0 голосов
/ 24 июня 2018

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

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

...