在设置“选中”时,Windows窗体复选框是否明智地决定是否刷新



如果我设置了Windows窗体CheckBox.Checked = true,并且它已经为true,那么小部件会重新绘制自己吗?

我希望不会,如果它只是直接设置值,因为不会有任何变化。但我可以想象,可能有一些神奇的代码在设置值时设置了一个脏标志,而不管它已经是什么。

我只是想知道我是否应该做这样的事情来防止额外的刷新:

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

如果Checked值没有改变,Paint事件就不会触发,所以我认为这意味着它没有重新绘制自己。您可以通过处理CheckBox.Paint事件并在处理程序方法中放置断点来看到这一点。

最新更新