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