How to cancel RadioButton or CheckBox checked change

Viewed 27566

Is there any way to cancel a RadioButton or CheckBox's change in state before it changes?

I was hoping for a simple event like CheckedChanging or BeforeCheckedChange.

I really want to avoid listening for mouse clicks and key presses. But if you know of a proven reliable way of using mouse clicks and key presses, please explain it.

I'm using .NET 2.0 with standard Winforms controls.

4 Answers
private void cbSuspended_CheckedChanged(object sender, EventArgs e)
{
    var result = MessageBox.Show("Are you sure?", "Change status", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
    if (result != DialogResult.Yes)
    {
        cbSuspended.CheckedChanged -= cbSuspended_CheckedChanged;
        cbSuspended.Checked = !cbRemoved.Checked;
        cbSuspended.CheckedChanged += cbSuspended_CheckedChanged;
        return;
    }
}
Related