秒表只显示秒

Stopwatch shows only seconds

我有一个程序 Timer 使用 StopWatch class。 有一个 Label 显示小时、分钟和秒,如下所示:

label.Text = String.Format("{0:00}:{1:00}:{2:00}", stopwatch.Elapsed.Hours, stopwatch.Elapsed.Minutes, stopwatch.Elapsed.Seconds);

您可能想要使用 TotalSeconds 属性:

double totalSeconds = stopwatch.Elapsed.TotalSeconds;

要将此值分配给您的 Labels Text 属性,请执行以下操作:

label.Text = totalSeconds.ToString();

考虑 castint 或四舍五入的值,如果你只想显示完整的秒数。

这会将经过的秒数放入标签中:

label.Text = $"{stopwatch.ElapsedMilliseconds / 1000}";

或者这样:

label.Text = $"{(int)stopwatch.Elapsed.TotalSeconds}";

Stopwatch.Elapsed is property of struct TimeSpan,其中有一堆名称以 Total 开头的属性,例如:

TimeSpan.FromMinutes(121).TotalHours  // 2.0166666666666666
TimeSpan.FromSeconds(67).TotalSeconds // 67