コントロールに設定したイベントを一時的に無効化する方法はありますでしょうか。


チェックボックスが2つあり、2つのチェックボックスのon/offによってリストボックスのアイテム一覧が変更される。2つのチェックボックスを同時にonにするボタンがある というフォームがあります。
http://i.imgur.com/1XiXIQE.png
チェックボックスをonにした時、offに下時の処理はよいのですが
ボタンを押した時の処理で困っています。

ボタンを押した時の処理はこんな感じなのですが
checkbox1.checked=true;
checkbox2.checked=true;
これだと、一つ目のチェックボックスがonになった時と2つ目のチェックボックスがonになった時と二回リストの更新が行われてしまいます。
ですので
checkbox1.CheckedChanged=無効
checkbox1.checked=true;
checkbox1.CheckedChanged=有効
checkbox2.CheckedChanged=無効
checkbox2checked=true;
checkbox2.CheckedChanged=有効
というようなイベントを一時的に無効化したいのですが、そのような方法はございますでしょうか。

checkbox2.CheckedChanged-= とすればよいのですが、今後イベントが増えた時の対応が必要ですし
フラグを作って判定する方法も今後の対応が不安です。