问题
单项选择题
设工程中有2个窗体:Form1、Form2,Form1为启动窗体。Form2中有菜单,其结构如表。要求在程序运行时,在Form1的文本框Text1中输入口令并按回车键(回车键的ASCII码为13)后,隐藏Form1,显示Form2。若口令为“Teacher”,所有菜单都可见;否则看不到“成绩录入”菜单项。为此,某人在Form1窗体文件中编写如下程序:
菜单结构 | ||
标题 | 名称 | 级别 |
成绩管理 | mark | 1 |
成绩查询 | query | 2 |
成绩录入 | input | 2 |
If KeyAseii = 13 Then
If Text1. Text = "Teacher" Then
Form2. input. Visible = True
Else
Form2. input. Visible = False
End If
End If
Form1. Hide
Form2. Show
End Sub
程序运行时发现刚输入口令时就隐藏了Form1,显示了Form2,程序需要修改。下面修改方案中正确的是( )。
A) 把Form1中Text1文本框及相关程序放到Form2窗体中
B) 把Form1. Hide、Form2. Show两行移到2个End If之间
C) 把If KeyAscii=13 Then改为If KeyAscii="Teacher" Then
D) 把2个Form2. input. Visible中的“Form2. ”删去
答案
参考答案:B
解析: 原程序的执行流程为,当按下一个键后,激活KeyPress事件,事件中隐藏Form1和显示Form2的语句与判断是否按了回车键的语句是顺序的,即不论按了什么键,都会执行隐藏Form1和显示Form2的语句。这两句应该上移到第二个EndIf前面,也就是放在判断是否按了回车键的If语句块中。因此B选项正确。