<p>I've got a form where I have two radio buttons and two interchangeable controls (made up of a ListView and a handful of buttons). Based on which radio button is selected I want to display the proper control to the user.</p>

<p>The way I'm doing this now is just loading both controls and setting up an OnRadioButtonSelectionChanged() method which gets called at form load (to set the initial state) and at any time the selection is changed. This method just sets the visible property on each control to the proper value.</p>

<p>This seems to work well enough, but I was curious as to if there was a better or more common way of doing it?</p>

Yep, that's pretty much how I do it.  I would set the CheckedChanged event of both radio buttons to point at a single event handler and would place the following code to swap out the visible control.
```
```
private void OnRadioButtonCheckedChanged(object sender, EventArgs e)
{
    Control1.Visible = RadioButton1.Checked;
    Control2.Visible = RadioButton2.Checked;
}
```
```