在学习C#的过程中遇到radiobutton控件中的问题记录下来,以便以后学习。
首先编写一个程序使用单选按钮代替问题的ABCD四个字母选项,其实现如下图所示:
通过点击选项,点击提交来判断你所选的是否正确,其中button按钮的程序代码如下:
private void button1_Click(object sender, EventArgs e)
{
string str = "";
foreach (Control ctrl in this.Controls) //control为控件类型,
{
if (ctrl.GetType().Name == "RadioButton")
{
RadioButton rbtn = (RadioButton)ctrl; //将ctrl强制转换为RadioButton类型,在赋给rbtn
if (rbtn.Checked) //点击
str = rbtn.Name; //将起名字赋给str
}
}
switch (str)
{
case "radioButton1":
MessageBox.Show("您选择的答案为:A,错误!!!");
break;
case "radioButton2":
MessageBox.Show("您选择的答案为:B,错误!!!");
break;
case "radioButton3":
MessageBox.Show("您选择的答案为:C,正确!!!");
break;
case "radioButton4":
MessageBox.Show("您选择的答案为:D,错误!!!");
break;
}
}
在Control类中通过遍历整个控件类来找出radiobutton控件,将实例(Ctrl)的控件类型强制转换为radiobutton类型,判断是否点击按钮,将其名字通过switch来判断,点击的是哪个按钮。