<p>I'm using the MVP pattern in a windows form app. I need to change a radio button on the view. I can do this by exposing a Boolean property on the view, but should I be using events to manipulate the view instead?</p>

Using "plain language" analysis, I would say that "whether or not the radio button is displayed is a
property
of the view" and therefore use an actual property to communicate this to the View.
The other (technical) possibility would be to have a event on the Presenter, i.e.
```
RadioButtonVisibilityChanged
```
, which is listened to by the View and passes the new visibility through the
```
EventArgs
```
. This runs contrary to the View being independent and ignorant of the Presenter and therefore undermines the MVP pattern. I advise against such nonsense.