如果我设置了一个Windows窗体CheckBox.Checked = true
,并且它已经是真的,那么窗口小部件会重绘吗?
我希望不会,如果它只是直接设置值,因为没有变化。但我可以想象,在设置值时,可能会有一些魔术代码设置脏标志,无论它是什么。
我只是想知道我是否应该做这样的事情来防止额外的刷新:
if (TheBox.Checked != checkBool)
{
TheBox.Checked = checkBool;
}
答案 0 :(得分:3)
如果Checked值没有改变,Paint
事件不会触发,所以我认为这意味着它不会重绘自身。您可以通过处理CheckBox.Paint
事件并在处理程序方法中放置断点来查看此内容。