Я использую следующий код для отображения прошедшего времени задачи в строке состояния приложения.
public void DisplayDuration(TimeSpan duration)
{
string formattedDuration;
if (duration.TotalMilliseconds < 2000)
formattedDuration = string.Format("{0} ms", duration.TotalMilliseconds);
else if (duration.TotalSeconds < 60)
formattedDuration = string.Format("{0} sec", duration.TotalSeconds);
else
formattedDuration = string.Format("{0} min", duration.TotalMinutes);
this.TimingLabel.Text = formattedDuration;
}
this.TimingLabel - это метка в элементе управления statusStrip в нижнем колонтитуле winform.
Но я получаю совершенно разные результаты в Windows XP и Windows 7
Windows XP:
Windows 7
Почему устройства появляются раньше времени в Windows 7?
Я проверил региональные настройки, и обе машины установлены в США с одинаковым форматированием даты. Совершенно уверен, что это тот же код, который работает на обеих машинах. Это очень странное поведение в очень простом коде.
В качестве продолжения: я внесла следующее изменение в мой код, но все еще имею ту же проблему:
formattedDuration = string.Format("{0} ms", duration.TotalMilliseconds.ToString());