有两情情况,选择时判断和选择完成后判断
选择时判断时,把所有rediobutton的CheckedChanged事件指到一个事件,事件中处理判断是哪个radiobutton已选。
选择完成后判断时,遍历groupbox控件子控件,如果控件为rediobutton,检查其Checked属性,如果为true则是已选。
代码如下:
private void radioButton_CheckedChanged(object sender, EventArgs e)
{
if (sender is RadioButton)
{
RadioButton rdoCtl = sender as RadioButton;
if (rdoCtl.Checked)
{
MessageBox.Show(rdoCtl.Text + "被选择!");
}
}
}
private void button1_Click(object sender, EventArgs e)
{
foreach (Control item in groupBox1.Controls)
{
if (item is RadioButton)
{
RadioButton rdoCtl = item as RadioButton;
if (rdoCtl.Checked)
{
MessageBox.Show(rdoCtl.Text + "被选择!");
break;
}
}
}
}
效果如下:
只有四个radiobutton可以用if(rbtn1.checked==false&&rbtn2.checked==false……)进行判断
如果radiobutton个数多的话:
private void button1_Click(object sender, EventArgs e)
{
int i = 0;
foreach (RadioButton item in groupBox1.Controls)
{
if (item.Checked)
i++;
}
if (i == 0)
MessageBox.Show("没有选中任意个radiobutton");
}
好久没做winform了……
radioButton有个IsChecked的属性,你可以对radiobutton做判断就行,类似
if (radiobutton.ischecked == true)
break;
else if(radiobutton2.ischecked == true)
break;
你在之前定义一个flag来记录就行,如果四个button都没有被选中,flag=0;否则,flag=1.
希望能帮到楼主
this.radioButton1.CheckedChanged 注册此事件即可
this.radioButton1.Checked == true 就是说这个btn被选中了