Все, у меня есть GroupBox
с несколькими элементами управления (Button
с, RadioButton
с и т. Д.), И я хочу знать, как наиболее эффективно определить, какой RadioButton
в GroupBox
находится в проверено состояние. У меня в настоящее время есть
int nCheckedRadioIdx = 0;
foreach (Control ctrl in groupBoxList.Controls)
{
if (ctrl.GetType() == typeof(RadioButton))
{
if (((RadioButton)ctrl).Checked)
{
switch (((RadioButton)ctrl).Name)
{
case "radioButtonGoodCodeSumm":
nCheckedRadioIdx = 0;
break;
case "radioButtonBadCodeSumm":
nCheckedRadioIdx = 1;
break;
case "radioButtonBadByEpiNo":
nCheckedRadioIdx = 2;
break;
case "radioButtonValidCodes":
nCheckedRadioIdx = 3;
break;
default:
break;
}
break;
}
}
}
Затем я использую перечислитель, чтобы определить, какая кнопка мне нужна. Это кажется мне очень многословным (на самом деле чертовски безобразным!). Я видел, как это делается в VB с каким-то запросом LINQ (вопрос SO) , но я никогда не работал с VB или LINQ и борюсь с преобразованием. Если есть еще лучший способ, который был бы хорош, поскольку один из GroupBox
s содержит значительное количество RadioButton
s - я хотел бы использовать LINQ для этого, если это возможно?