Я использую следующий код для отображения прошедшего времени задачи в строке состояния в моем приложении.
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());