Слегка хак, но вы можете настроить Dictionary<RadioButton, Action>
, содержащий сопоставление между RadioButton
элементами управления и соответствующими методами (которые являются методами void
без параметров и совпадающими с подписью делегата Action
):
Dictionary<RadioButton, Action> _rbMethods = new Dictionary<RadioButton, Action>();
При загрузке формы добавьте кнопки и соответствующие методы на карту:
_rbMethods.Add(rbFrenchImp, FrenchImpAction);
_rbMethods.Add(rbFrenchMet, FrenchMetAction);
_rbMethods.Add(rbEnglishImp, EnglishImpAction);
Затем вы можете довольно легко вызвать соответствующие методы для отмеченного переключателя (или кнопок, если онив разных группах):
foreach (RadioButton key in _rbMethods.Keys.Where(rb => rb.Checked))
{
_rbMethods[key]();
}