1. 主页 > vs安装问题 > VS2010安装问题 >

Visual Studio 2010(VS)--数学口算测验器⑤

Visual Studio 2010(VS)--数学口算测验器⑤

 

上期回顾(上期主要写了定时器功能,当开始测验时倒计时):

image.png

这期主要是想实现一个答案比对功能

1.0 首先写一个方法,用来比对答案,然后返回一个BOOL量

public bool CheckTheAnswer()//计算校验

        {

            if (addend1 + addend2 == SUM.Value)//比对加法运算答案

            {

                return true;//正确CheckTheAnswer返回true

            }

            else

            {

                return false;//错误CheckTheAnswer返回false

            }

        }

image.png

2.0 写好校验程序后,要再后面开始调用触发校验程序,这里我们把他加在定时器Tick事件触发程序这里,每秒来检测答案是否正确,如果正确就提前终止

private void timer1_Tick(object sender, EventArgs e)

        {

            //每1S会触发这个事件

            if (CheckTheAnswer())//如果答案正确

            {

                timer1.Stop();//定时器停止

                MessageBox.Show("You got all the answers right!",

                                "Congratulations!");//提示框

                Startbutton.Enabled = true;//复位开始测试按钮

            }

            else if (timeLeft > 0)//时间还未结束

            {

                timeLeft = timeLeft - 1;//每次都把剩余减1

                //控件文本显示倒计时和字符串seconds

                //控件文本只能显示字符串,但是如果是字符串+数字等也是可以的

                timeLabel.Text = timeLeft + "seconds";

            }

            else

            {

                timer1.Stop();//定时器关闭

                timeLabel.Text = "Time's up!";//控件显示没时间

                MessageBox.Show("You didn't finish in time.");//再跳个弹窗时间到了

                SUM.Value = addend1 + addend2;//显示正确答案

                Startbutton.Enabled = true;//复位开始测试

            }

        }

image.png

3.0 控件--事件--选择可响应的事件,后面是设定响应事件函数

image.png

4.0 对这个事件响应程序,进行代码编写,让其能够在Tab选择时,能全选所有当前所有值

private void answer_Enter(object sender, EventArgs e)

        {

            //指定发送对象为NumericUpDown的方法,命名answerBox,

            //这样就可以用于所有NumericUpDown

            NumericUpDown answerBox = sender as NumericUpDown;

 

            //answerBox 是否已成功地从一个对象转换(强制转换)为一个 NumericUpDown 控件。 

            //如果转换不成功,此变量的值将为 null

            if (answerBox != null)//如果不为null

            {

                int lengthofAnswer = answerBox.Value.ToString().Length;//获取当前控件的字符长度

                  answerBox.Select(0,lengthofAnswer);//根据控件字符长度选择当前所有的显示值

            }

        }

image.png

5.0 选中其他3个运算结果的控件,如下图,都选择同一个响应程序

image.png

 

 

 

 

 

 

 

 

 

 

 

 

 

本文由VS软件圈(vssoft.net)发布,不代表VS软件圈立场,转载联系作者并注明出处:https://vssoft.net/vsazwt/VS2010anzhuangwenti/2020/0724/2559.html

联系我们

在线咨询:点击这里给我发消息

微信号:PREEE8

工作日:9:30-18:30,节假日休息