[This is preliminary documentation and subject to change.]
Controls on the same dialog box can communicate with each other by means of ControlEvents.
Each ControlEvent has one publisher (a control or the installer itself) and can have several subscribers. The kind of ControlEvents published by a control is determined by the type of the control. Theoretically any control can subscribe to any ControlEvent, although many combinations are not practical.
A control can subscribe to a ControlEvent in the following ways:
A custom control can publish its own ControlEvents and other controls (custom or regular) can subscribe to them.
The publisher of a ControlEvent can hide/show or enable/disable its subscribers when its state requires it.
It is perfectly reasonable to have a control on a dialog box that publishes some ControlEvent but to have no subscribers to the control. In contrast, if a control subscribes to a ControlEvent that is not published by the handler and a publishing control is not present on the same dialog box, it can result in an error (especially if the control attempts to trigger that event).
For a more comprehensive explanation on a specific control, see the ControlEvents list.