Если ответ Андреа не работал для вас (так как вы не пометить его как решение), другой вариант будет создать контейнер, такой как GroupBox
, а затем добавьте свои программно созданные элементы управления RadioButton
в этот контейнер. Тогда вы можете перебираем элементы управления, принадлежащие к GroupBox
, как это:
foreach (Control c in myGroupBox.Controls)
{
if ((RadioButton)c).Checked)
//Do something
}
Это будет цикл по всем элементам управления в GroupBox
и бросили их в RadioButton
и проверить, если они проверены или нет. Я использовал что-то похожее на это как основу для множества требований в разных приложениях; очень просто сделать рекурсивный метод, который принимает ControlCollection
, перебирает его и применяет логику по мере необходимости в зависимости от некоторого состояния, типа типа управления или, возможно, значения элемента управления Tag
.
Затем по мере добавления RadioButton
сек к GroupBox
во время выполнения вы просто сделать что-то вроде myGroupBox.Controls.Add(b)
где b
является RadioButton
, который вы создали в вашем for
цикла в примере кода. More on runtime control creation here.
«Как вы используете, если другое условие на кнопках», которое вам нужно будет разработать. –
Я новичок. Когда я перетаскиваю кнопку в форме, каждая кнопка имеет свое имя i.e radionbutton1 radiobutton2 и т. Д. Когда вы создаете кнопки динамически, я не знаю, какая кнопка 1 или кнопка2. В приведенном выше примере, как я могу сказать: «если radiobutton1.checked сделать это»? и т. д. – Dominique1256
Как насчет включения RadioButtons в список или массив? Поэтому вы можете использовать 'if (allRadioButtons [1] .checked) сделать это' –