저는 양식에 라디오 버튼을 동적으로 생성하고 있습니다. 사용자가 선택을 취소 할 수 있기를 바랍니다. 사용자의 옵션은 하나를 선택하거나 none을 선택해야합니다 (확인란보다 라디오 버튼을 사용하는 것이 안전합니다). EventHandler를 사용하여 이벤트를 만들려고했지만 제대로 작동하지 않는 데별로 운이 없었습니다. 여기 C# 어떻게 동적으로 생성 된 라디오 버튼을 선택 취소 할 수 있습니까?
내가 버튼을 만들고있어 한 내용은 다음과 같습니다private void makeRadioButtons(string size, Panel pnl)
{
for (int i = 0; i < 2; i++)
{
RadioButton btn = new RadioButton();
btn.AutoSize = true;
btn.Name = i;
btn.Text = i;
btn.Location = new Point(100*i, 0);
btn.Click += new EventHandler(radioHandler);
pnl.Controls.Add(btn);
}
}
그리고 여기 내 이벤트 핸들러 :
private void radioHandler(object sender, EventArgs e)
{
RadioButton rdo = sender as RadioButton;
if(rdo.Checked)
{
rdo.Checked = false;
}
else
{
rdo.Checked = true;
}
}
내가 버튼을 얻을 컴파일하지만 선택하거나 선택 취소 할 수 있습니다 그들. 나는 가깝다고 느낀다. 그러나 나는 단지 내가 여기서 잘못하고있는 것을 알아낼 수 없다.
winforms 또는 asp.net? –
클릭했을 때 자동으로 확인되지 않습니까 ('pnl.Controls'의 다른 항목은 선택하지 않았습니까?)? _ 정확하게 무엇을하고 싶니? 그리고 단순히'rdo.Checked =! rdo.Checked; '를 설정하는 것으로''if' '로 변환 할 수 있습니다. –
라디오 버튼은 그룹에서 단 하나의 선택을 시행하도록 설계되었습니다. 이것이 정확하게 당신이 요구하는 체크 박스의 기능 일 때 어떻게 사용하는 것이 더 안전합니까? –