<p>This seems like a very simple and a very common problem. The simplest example I can think of is this:</p>

<p>The form has five checkboxes with a "check all/check none" checkbox above them. When a user selects checking all checkboxes, I toggle the states of the "children" - obviously I don't want to fire the check events of all the children until I am done setting all of the checkboxes.</p>

<p>I can't find a form-wide suspend control event. If I'm simply missing it then great simple answer. Barring a simple solution that I am just missing, what is the best way (best practice? accepted solution?) to suspend form control events?</p>

From your other question, I'm going to guess you're using VB .NET.  So, RemoveHandler is your best bet.  Normally in VB people set up event handlers using the Handles clause.  But you can also do it this way:
```
```
AddHandler chk1.CheckedChanged, AddressOf DoSomething
```
```
where DoSomething might look like this:
```
```
Private Sub DoSomething(ByVal sender As Object, ByVal e As EventArgs)
    ' whatever
End Sub
```
```
AddHandler wires up the event, so it'll fire.  To get it not to fire, use RemoveHandler:
```
```
RemoveHandler chk1.CheckedChanged, AddressOf DoSomething
```
```
Before updating the Checked property of your child checkboxes, call RemoveHandler on each of them; then when you're done, call AddHandler to put the event handlers back.  If all your checkboxes use the same handler, you can put them in a collection and loop through the collection to add or remove the handlers.