Возможно, ваша радио-кнопка лежит внутри панели. И, следовательно, переключатель находится в списке элементов управления панели, а не в форме. Попробуйте вместо этого:
private static void CheckRadioButton(Control control)
{
foreach (Control c in control.Controls)
{
if (c is RadioButton)
{
if (((RadioButton)c).Checked == true)
{
//code continue to next
}
else
{
MessageBox.Show("You must select at least one.");
return; //should be
}
}
else if (c.Controls.Count > 0)
CheckRadioButton(c);
}
}
Теперь вызовите этот метод, передав form
в качестве аргумента. Как это или так:
void nextButton_Click(object sender, EventArgs e)
{
CheckRadioButton(this); //or whichever form it is..
}
Вам не нужно излишне повторять внутренний цикл, подтверждающий, что переключатель является переключателем.