c#怎样累加radiobutton的值(用控件组之类)?

我有50多个radioButton,每个选项有一个分值,像考试系统一样,用户选好答案点确定累计得分,但是用下面的写法太麻烦,怎样把它们改写成控件组的循环累加?就像if(r... 我有50多个 radioButton,每个选项有一个分值,像考试系统一样,用户选好答案点确定累计得分,但是用下面的写法太麻烦,怎样把它们改写成控件组的循环累加?
就像if (radioButton[i].Checked)之类的?

if (radioButton1.Checked)
i = int.Parse(radioButton1.Tag.ToString());
if (radioButton2.Checked)
i = i + int.Parse(radioButton2.Tag.ToString());
………………
………………
i = i + int.Parse(radioButton49.Tag.ToString());
if (radioButton50.Checked)
i = i + int.Parse(radioButton50.Tag.ToString());
label.Text = i.ToString();
………………
咕~~(╯﹏╰)b不明白……怎么枚举怎么转型啊……
展开
 我来答
zgmerry
2010-08-15 · TA获得超过287个赞
知道小有建树答主
回答量:408
采纳率:0%
帮助的人:269万
展开全部
int total = 0;
//获取当前窗体的所有控件,若放置在容器中,则用panel.controls获取容器内的控件集合
Control.ControlCollection controls = this.Controls;
//遍历控件集合
foreach (Control control in controls)
{
//当前控件是radiobutton,并且被选中
if (control.GetType() == typeof(System.Windows.Forms.RadioButton) && ((RadioButton)control).Checked)
{
total += int.Parse(((RadioButton)control).Tag.ToString());
}
}

大概就这样吧
supermfc
2010-08-14 · TA获得超过231个赞
知道小有建树答主
回答量:130
采纳率:0%
帮助的人:212万
展开全部
将这些radiobutton放到一个容器里面,例如,panel里面。

然后使用panel.controls属性来获取所有子控件。

枚举这些子控件,看是否类型为radiobutton,然后转型为一个radiobutton即可。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式