Отключить обновление winforms - PullRequest
3 голосов
/ 14 июля 2009

Каждый раз, когда я меняю свойство enable disable для элементов управления на моей winform, оно перерисовывает всю форму. Я хочу избежать излишних перерисовок, перекрашивая только тогда, когда я обновил все элементы управления. Возможно ли это?

Ответы [ 3 ]

4 голосов
3 голосов
/ 14 июля 2009

Winforms только перерисовывает недействительной области элементов управления, чей внешний вид изменился. Если ваша «вся форма» перекрашивается, вы делаете что-то не так. Вы рисуете что-нибудь вне ваших обработчиков событий Paint? Делаете ли вы что-то недействительным в своих обработчиках событий Paint? Не делай этого.

Пожалуйста, отправьте код, который вызывает эту проблему.

0 голосов
/ 14 июля 2009

Это быстрый взлом, но я думаю, что вы можете установить для свойства Visible формы значение False, включить / отключить все элементы управления, а затем установить для Visible обратно значение True.

В статье JP приведены ссылки на ряд лучших подходов.

Обновление: на самом деле, какой язык / платформу вы используете? Я только что создал быстрое тестовое приложение в C #, и установка включенных / отключенных свойств не вызывает перерисовку всей формы.

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