2012-01-25 4 views
3

WindowsフォームCheckBox.Checked = trueを設定しても、それはすでに正しいですが、ウィジェット自体が再描画されますか?Windowsフォームのチェックボックスは、チェックするかどうかをリフレッシュするかどうかをスマートにしますか?

変更がないため、値を直接設定するだけであれば、私は期待しません。しかし、私はそこに、既に何があったかに関わらず、値を設定するときに汚れた旗をセットする魔法のコードがあるかもしれないと想像することができます。

私はちょうど私が余分なリフレッシュを防ぐために、このようなものをやるべきかどうかを知りたい:

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

答えて

3

チェック値が変更されない場合は、Paintイベントは発生しませんので、私は仮定つまり、それ自体を再描画しないことを意味します。これは、CheckBox.Paintイベントを処理し、ハンドラメソッドにブレークポイントを設定することで確認できます。

+0

ありがとう、ありがとう。確認するためにペイントを扱うことについての良い点! – Almo

関連する問題