单选按钮的应用----模拟单项选择题测试
设计思路
为了简化问题,这里假设有3道选择题,使用一个一维数组ti_mu来存放每道题的题目,一个二维数组Item存放每道题的四个选项,使用一个通用方法chu_ti()修改标签上的文字和单选按钮旁的文字,完成出题功能。此外还需要使用一个数组成员变量s存放题号,当用户单击下一题时,令s=s+1。
设计步骤
(1)创建Windows应用程序项目,在窗体上添加一个标签label1,2个按钮button1,button2以及4个单选按钮radioButton1~4,如下所示:
(2)编写程序代码,首先在Form1类成员代码区中,加入定义字段成员变量:
private string[] ti_mu = new string[4]; //存放题目
private string[,] Item = new string[4,5]; //存放ABCD
//存放题目的答案,1,2,3,4分别代表ABCD四个选项
private int[] Answer = new int[4];
private int s; //题号
出题部分由通用方法chu_ti()完成: private void chu_ti()
{
label1.Text = ti_mu[s];
radioButton1.Text = Item[s, 1];
radioButton2.Text = Item[s, 2];
radioButton3.Text = Item[s, 3];
radioButton4.Text = Item[s, 4];
}
编写窗体加载Load事件代码: private void Form1_Load(object sender, EventArgs e)
{
ti_mu[1] = "计算机诞生于()年";
ti_mu[2] = "放置控件到窗口中的最迅速方法是()";
ti_mu[3] = "窗体Form1的Text属性为frm,则其load事件名为()";
Item[1, 1] = "A.1944";
Item[1, 2] = "B.1945";
Item[1, 3] = "C.1946";
Item[1, 4] = "D.1947";
Item[2, 1] = "A.双击工具箱中的控件";
Item[2, 2] = "B.单击工具箱中的控件";
Item[2, 3] = "C.拖动鼠标";
Item[2, 4] = "D.单击工具箱中的控件并拖动鼠标";
Item[3, 1] = "A.From_Load";
Item[3, 2] = "B.From1_Load";
Item[3, 3] = "C.Frm_Load";
Item[3, 4] = "D.Me_Load";
Answer[1] = 3; //C正确
Answer[2] = 1; //A正确
Answer[3] = 2; //B正确
s = 1;
chu_ti();
}
编写“判断对错”按钮的Click事件代码: private void button1_Click(object sender, EventArgs e)
{
if (Answer[s] == 1 && radioButton1.Checked)
MessageBox.Show("恭喜,你选对了");
else if (Answer[s] == 2 && radioButton2.Checked)
MessageBox.Show("恭喜,你选对了");
else if (Answer[s] == 3 && radioButton3.Checked)
MessageBox.Show("恭喜,你选对了");
else if(Answer[s] == 4 && radioButton4.Checked)
MessageBox.Show("恭喜,你选对了");
else
MessageBox.Show("选择错误!");
}
编写“下一题”按钮的Click事件代码 private void button2_Click(object sender, EventArgs e)
{
s = s + 1;
if (s > 3)
MessageBox.Show("恭喜您,题目已经做完");
else
chu_ti();
}
说明:要使某个按钮成为单选按钮中默认按钮(被选中状态)只要在设计的时候将其Checked属性设置为True。 结果展示: