Когда вы нажимаете радиокнопку, вы отправляете соответствующую функцию делегата (действие) и результат Messagebox. Действие обрабатывает случаи «да / нет».
public void HandleMessageBoxResult(DialogResult result, Action<DialogResult> action)
{
action(result);
}
public void Radio1Action(DialogResult result)
{
switch (result)
{
case DialogResult.Yes:
MessageBox.Show("Yes Clicked for Radio1");
break;
case DialogResult.No:
MessageBox.Show("No Clicked for Radio1");
break;
}
}
public void Radio2Action(DialogResult result)
{
switch (result)
{
case DialogResult.Yes:
MessageBox.Show("Yes Clicked for radioButton2");
break;
case DialogResult.No:
MessageBox.Show("No Clicked for radioButton2");
break;
}
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
if(radioButton1.Checked)
{
DialogResult result = MessageBox.Show("Message for radioButton1", "title", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
HandleMessageBoxResult(result, Radio1Action);
}
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
if (radioButton2.Checked)
{
DialogResult result = MessageBox.Show("Message for radioButton2", "title", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
HandleMessageBoxResult(result, Radio2Action);
}
}