У меня есть выигрышная форма, на которой есть несколько радионеточек и меток, а также некоторые другие элементы управления, которые я генерирую во время выполнения.Не то, что я хочу, когда я проверяю радиокнопку, все радионавигационные кнопки должны быть отключены, кроме той, которую я проверял.Это относится к каждой радиопереключателю.Короче говоря, я хочу проверять по одной радионавигации за раз.
private RadioButton GenerateRadioButton(string id)
{
RadioButton _radioButton = new RadioButton();
_radioButton.Location = new Point(32, 20);
_radioButton.Margin = new Padding(4, 4, 4, 4);
_radioButton.Size = new Size(130, 36);
_radioButton.Name = id;
_radioButton.AutoSize = true;
_radioButton.Font = new Font("Arial", 16, FontStyle.Bold);
_radioButton.CheckedChanged += new System.EventHandler(RadioButton_CheckedChanged);
return _radioButton;
}
private void RadioButton_CheckedChanged(object sender, EventArgs e)
{
HandleRadioButtinClick(((RadioButton)sender).Name);
((RadioButton)sender).Checked = true;
}
private void HandleRadioButtinClick(string ctrlId)
{
FrmSpace objFrmSpace = new FrmSpace();
foreach (Control ctrl in pictureBox1.Controls)
{
if (ctrl is Panel)
{
foreach (Control ctl in ctrl.Controls)
{
if (ctl is RadioButton && ctl.Name != ctrlId)
((RadioButton)ctl).Checked = false;
}
}
}
}
Вот код выше.Проблема с этим кодом состоит в том, что, когда я проверяю радиокнопку, если есть какая-либо другая радиокнопка, которая проверена, и я пытаюсь снять флажок, также запускается его проверенное событие, которое вызывает повторную проверку всей радиокнопки.Я надеюсь, что я понимаю, что я хочу передать.
Пожалуйста, предоставьте какое-нибудь решение.
Спасибо