vb中怎样利用数组和frame框架制作一组单选题?怎样编程?

 我来答
damyzl
2016-06-08 · TA获得超过1586个赞
知道大有可为答主
回答量:1475
采纳率:74%
帮助的人:907万
展开全部

界面只需要添加1个frame和4个单选框(如果是多选题则替换成多选框),每次点击下一题,将题目和选项显示到上面,类似这样:

至于记分,用一个变量计算就可以了,每一题提交后就记分,全部题目完成后显示总分数。

代码:

Dim QS(99,5)'二维数组,这里定义了100道题,第二维是题目内容。这里用自定义结构会更加自然

'初始化数组

QS(0, 0) = "地球自传一周是多少小时?"'题目

QS(0, 1) = "8"'选项1

QS(0, 2) = "12"'选项2

QS(0, 3) = "24"'选项3

QS(0, 4) = "48"'选项4

QS(0, 5) = "3"'答案

...

'显示题目,比如单击按钮“下一题”

Private Sub cmdNext_Click()

mnIndex = mnIndex + 1 '全局变量

Frame1.Caption ="题目" & mnIndex & ":" & QS(0, 0) 

Option1(0).Caption = QS(0, 1) 

Option1(1).Caption = QS(0, 2) 

Option1(2).Caption = QS(0, 3) 

Option1(3).Caption = QS(0, 4) 

End Sub

追问
那要把初始化求数组的那些语句编写在什么事件中?是随便一个option控件都可以吗?为什么啊?而且怎样刷新每次的选项内容?用怎样的语句刷新内容啊?而且,如果"上一道题"这个按钮是在第一道题上按,此时应该用一句怎样额语句控制不超出范围?同理,最后一道题的"下一道题"按钮也得有一句话控制,怎么控制?
追答
答题的流程你应该心里有数啊,因为界面的操作可以有很多选择就不细说了。
题目的初始化可以在 Form_Load 里,即窗体显示前完成。mnIndex 定义在窗体顶部,是全局变量,指示当前是第几道题,Form_Load 里设置为0,在 Form_Load 调用一次 cmdNext_Click 就显示第一题(mnIndex +1)。
cmdNext_Click() 完成的就是题目的刷新。
“下一题”的事件里检查 mnIndex +1 是否在合理的范围内就可以了(“上一题”也一样)
记分的方式也可以不是每次提交就计算总分,而是定义一个答题数组把每一题的答题情况记下来,比如:
dim arrAnswers(99)
这样就可以修改之前的答案了。
chinaboyzyq
2016-06-08 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:3297万
展开全部
frame上摆放四个option控件来做就行了。
追问
怎么编程?一个一个框架这样做是能做出来,但要添加控件控制选择"上一题""下一题"最后还要算出分数,怎样编程让一个一个的框架数组连接起来,最后算出得到的分数?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式