Winform Control.Refresh - гарантированно синхронный? - PullRequest
1 голос
/ 27 октября 2011

Вызов метода WinForms Control.Refresh описан в MSDN как:

Заставляет элемент управления аннулировать его клиентскую область и немедленно перерисовывать себя и все дочерние элементы управления.

Я отлаживаю прерывистую проблему, которая возникает, когда подключенный дисплей переключает сигналы сканирования (эффективно изменяет разрешение), когда кажется, что Control.Refresh не генерирует ожидаемый вызов Control.OnPaint.Я использую приложение для получения дополнительной информации, однако мне любопытно, может ли это быть на самом деле среда выполнения, решающая не вызывать OnPaint, потому что она обнаруживает, что дисплей на мгновение отключен.

Это кажется мне маловероятным,и я ожидаю, что найду какой-нибудь другой пистолет для курения, но я пишу о том, что кто-то еще видел это в дикой природе, и у меня есть некоторые рекомендации по обращению с этим.

1 Ответ

1 голос
/ 28 октября 2011

Нет, это не гарантировано. Если элемент управления не имеет экрана для рисования, он не сгенерирует сообщение рисования.

Но как только элемент управления снова появится на экране, сообщение о рисовании должно снова сработать.

Вы пытаетесь нарисовать отладочную информацию? Если элемент управления не отображается на экране, что вы ожидаете получить при вызове функции refresh?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...