我正在尝试显示一个简单的第二个计数器。我有一个刻度间隔为 1 秒的调度程序计时器和一个文本框,我在刻度处理程序中使用当前秒数更新该文本框。在滴答处理程序中有少量工作,即在某些整数上调用“tostring()”。
我的问题是秒数比应有的慢。即使我将间隔设置为 100 毫秒并在经过时进行检查,它仍然比应有的速度慢。(在一分钟的过程中,它大约慢了 6 秒)。
谁能指出我正确的方向来显示第二个准确的计数器?
编辑:这里有一些代码(在 .xaml.cs 中)。它取自一个运行良好的示例。不同之处在于我设置的是 TextBox 的 Text 属性,而不是另一个控件的 Value 属性。
...
this.timer.Interval = TimeSpan.FromMilliseconds(100);
...
private void OnDispatcherTimer_Tick(object sender, EventArgs e) {
if (this.currentValue > TimeSpan.Zero) {
this.currentValue = this.currentValue.Value.Subtract(TimeSpan.FromMilliseconds(100));
} else {
// stop timer etc
}
this.seconds.Text = this.currentValue.Value.Seconds.ToString();
}