【发布时间】:2019-08-25 00:55:33
【问题描述】:
请查看此Stopwatch.cs 文件。
其中没有表单刷新函数调用。但是,显示经过时间的两个 Label 控件每秒刷新一次。
然而,当调用“resetButton_Click()”时,经过时间的显示不会刷新。
- 为什么会有不同的行为?
- 如何解决问题并在单击 resetButton 时刷新显示? (我尝试了here 的解决方案,但没有奏效)
【问题讨论】:
请查看此Stopwatch.cs 文件。
其中没有表单刷新函数调用。但是,显示经过时间的两个 Label 控件每秒刷新一次。
然而,当调用“resetButton_Click()”时,经过时间的显示不会刷新。
【问题讨论】:
您只是在resetButton_Click() 方法中设置变量的值,但不会将值更新为标签本身。将此添加到 resetButton_Click 方法的末尾,它将按预期工作:
_totalElapsedTimeDisplay.Text = _totalElapsedTime.ToString();
_currentElapsedTimeDisplay.Text = _currentElapsedTime.ToString();
此外,如果您设置了 Label 控件的 Text 属性,则无需调用任何 Form Refresh 方法。 Winforms 负责“刷新”控件以在不受您干扰的情况下显示新值,因此第一种情况按预期工作。
【讨论】: