Проверяют ли флажки Windows Forms, обновлять или нет при установке Checked? - PullRequest
3 голосов
/ 25 января 2012

Если я установил Windows Forms CheckBox.Checked = true, и это уже правда, виджет перерисовывает сам?

Я бы не ожидал, если бы он просто устанавливал значение, поскольку никаких изменений не будет. Но я могу представить, что там может быть какой-то магический код, который устанавливает грязный флаг при установке значения, независимо от того, какое оно уже было.

Я просто хочу знать, должен ли я делать такие вещи, чтобы предотвратить дополнительное обновление:

if (TheBox.Checked != checkBool)
{
    TheBox.Checked = checkBool;
}

1 Ответ

3 голосов
/ 26 января 2012

Если проверяемое значение не изменяется, событие Paint не срабатывает, поэтому я предполагаю, что это означает, что оно не перерисовывается само. Это можно увидеть, обработав событие CheckBox.Paint и поместив точку останова в метод обработчика.

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