C#表单刷新混乱

问题描述 投票:-2回答:1

请看一下这个Stopwatch.cs文件。

其中没有表单刷新函数调用。但是,显示已用时间的两个Label控件每秒刷新一次。

然而,当调用“resetButton_Click()”时,不会刷新经过时间的显示。

  • 为什么不同的行为?
  • 如何解决问题并在单击resetButton时刷新显示? (我试过here的解决方案,但那不起作用)
c# winforms refresh
1个回答
2
投票

您只需在resetButton_Click()方法中设置变量的值,但不会将值更新为标签本身。将其添加到resetButton_Click方法的末尾,它将按预期工作:

_totalElapsedTimeDisplay.Text = _totalElapsedTime.ToString();
_currentElapsedTimeDisplay.Text = _currentElapsedTime.ToString();

此外,如果设置Label控件的Text属性,则无需调用任何Form Refresh方法。 Winforms负责“刷新”控件以显示新值而不受干扰,因此第一种情况按预期工作。

© www.soinside.com 2019 - 2024. All rights reserved.