C#中如何将选中的单选按钮的值赋给一个已经定义的数组呢 ?
如图所示,当我选中之后,按下一题是,我该如何把选中的答案赋给已经定义的数组呢?比如。我选择了A,数组是StudentAnswer[](数组是在一个帮助类中定义的)。也就是...
如图所示,当我选中之后,按下一题是,我该如何把选中的答案赋给已经定义的数组呢 ?
比如。我选择了A,数组是StudentAnswer[](数组是在一个帮助类中定义的)。也就是说当我单击“下一题”这个按钮时,同事也要给答案存放在StudentAnswer【】中,这段代码该怎么写呢? 展开
比如。我选择了A,数组是StudentAnswer[](数组是在一个帮助类中定义的)。也就是说当我单击“下一题”这个按钮时,同事也要给答案存放在StudentAnswer【】中,这段代码该怎么写呢? 展开
4个回答
展开全部
LZ的单选按钮是定死的吧?如果是这样,就用不着foreach进行扫描,直接判断就可以
虽然代码长一些,不过执行速度会更快一些(控件数越多越明显)。
char[] answers = new char[20]; //答案
int questionNo = 0; //问题编号
private void button1_Click(object sender, EventArgs e)
{
if (radioButton1.Checked)
{
answers[questionNo] = 'A';
}
else if(radioButton2.Checked)
{
answers[questionNo] = 'B';
}
......
else
{
answers[questionNo] = '';
}
questionNo++;
/* 读取下一题的处理 */
return;
}
还有一种方法是在每个单选按钮的Click事件中修改值(其实这种方法稍微笨一些,虽然答案会即时更改,但实际上没多大意义--仅供参考),如下所示:
char[] answers = new char[20]; //答案表
int questionNo = 0; //问题编号
private void radio1_Click(object sender, EventArgs e)
{
answers[questionNo] = 'A';
}
private void radio2_Click(object sender, EventArgs e)
{
answers[questionNo] = 'B';
}
......
private void button1_Click(object sender, EventArgs e)
{
questionNo ++;
/* 读取下一题的处理 */
}
虽然代码长一些,不过执行速度会更快一些(控件数越多越明显)。
char[] answers = new char[20]; //答案
int questionNo = 0; //问题编号
private void button1_Click(object sender, EventArgs e)
{
if (radioButton1.Checked)
{
answers[questionNo] = 'A';
}
else if(radioButton2.Checked)
{
answers[questionNo] = 'B';
}
......
else
{
answers[questionNo] = '';
}
questionNo++;
/* 读取下一题的处理 */
return;
}
还有一种方法是在每个单选按钮的Click事件中修改值(其实这种方法稍微笨一些,虽然答案会即时更改,但实际上没多大意义--仅供参考),如下所示:
char[] answers = new char[20]; //答案表
int questionNo = 0; //问题编号
private void radio1_Click(object sender, EventArgs e)
{
answers[questionNo] = 'A';
}
private void radio2_Click(object sender, EventArgs e)
{
answers[questionNo] = 'B';
}
......
private void button1_Click(object sender, EventArgs e)
{
questionNo ++;
/* 读取下一题的处理 */
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
啊。。。3年没碰这玩意了。。代码什么的都不记得了 ,也没编程软件帮你试试。好像是先定义一个方法类,直接读取ABCD数值并覆盖到数组中酱紫的。。。SORRY 没帮到你。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我来补全下代码吧~
String[] answers = new string[20]; //答案
int questionNo = 0; //问题编号
private void button1_Click(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
{
if (c is RadioButton && ((RadioButton)c).Checked)
{
answers[questionNo] = ((RadioButton)c).Text;
questionNo++;
return;
}
}
MessageBox.Show("未选择!");
}
String[] answers = new string[20]; //答案
int questionNo = 0; //问题编号
private void button1_Click(object sender, EventArgs e)
{
foreach (Control c in this.Controls)
{
if (c is RadioButton && ((RadioButton)c).Checked)
{
answers[questionNo] = ((RadioButton)c).Text;
questionNo++;
return;
}
}
MessageBox.Show("未选择!");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是有多个单选按钮吗
FOREACH(CONTROL C IN THIS.PANEL1.CONTROLS)
{
IF(C IS RADIOBUTTON)
{
RADIOBUTTON RID=(RADIOBUTTON)C;
IF(RID.CHECKED)
{
赋值
}
}
}
FOREACH(CONTROL C IN THIS.PANEL1.CONTROLS)
{
IF(C IS RADIOBUTTON)
{
RADIOBUTTON RID=(RADIOBUTTON)C;
IF(RID.CHECKED)
{
赋值
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询