#c# #winforms #refresh
#c# #winforms #обновить
Вопрос:
Пожалуйста, взгляните на этот файл Stopwatch.cs.
В нем нет вызова функции обновления формы. Однако два элемента управления Label, которые отображают прошедшее время, обновляются каждую секунду.
Тем не менее, при вызове « resetButton_Click()
» отображение прошедшего времени не обновляется.
- Почему другое поведение?
- Как устранить проблему и обновить отображение при нажатии кнопки сброса? (Я попробовал решение из здесь, но это не сработало)
Ответ №1:
Вы только устанавливаете значение переменных в resetButton_Click()
методе, но не обновляете значения для самих меток. Добавьте это в конец resetButton_Click
метода, и он будет работать так, как ожидалось:
_totalElapsedTimeDisplay.Text = _totalElapsedTime.ToString();
_currentElapsedTimeDisplay.Text = _currentElapsedTime.ToString();
Кроме того, нет необходимости вызывать какой-либо метод обновления формы, если вы задаете свойство Text элемента управления Label. Winforms заботится о «обновлении» элементов управления для отображения новых значений без вашего вмешательства, поэтому первый случай работает так, как ожидалось.