设置Checked时,Windows窗体复选框是否刷新是否智能?

时间:2012-01-25 19:57:50

标签: winforms

如果我设置了一个Windows窗体CheckBox.Checked = true,并且它已经是真的,那么窗口小部件会重绘吗?

我希望不会,如果它只是直接设置值,因为没有变化。但我可以想象,在设置值时,可能会有一些魔术代码设置脏标志,无论它是什么。

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

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

1 个答案:

答案 0 :(得分:3)

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