单选题 设工程中有两个窗体:Form1和Form2。Form1为启动窗体,Form2中有菜单(其结构如表1所示)。要求在程序运行时,在Form1的文本框Text1中输入121令并按回车键(回车键的ASCII码为13)后,隐藏Form1,显示Form2。若口令为“Teacher”,则所有菜单项都可见;否则看不到“成绩录入”菜单项。为此,某人在Form1窗体文件中编写了如下程序:
表1 菜单结构
标题
名称
级别
成绩管理
mark
1
成绩查询
query
2
成绩录入
input
2
Private Sub Text1_KeyPress (KeyAscii As Integer)
If KeyAscii=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,因此需要修改程序。下面的修改方案中正确的是

【正确答案】 B
【答案解析】[解析] 程序未到达预计目标的原因是窗体的显示和隐藏不受按键条件的限制(未放在IfKeyrAscii=13 Then语句内)。即不管按的键是不是回车键,只要在Text1文本框中输入字符就触发了Text1的KeyPress事件,都会执行Form1.Hide和Form2.Show两个语句,就隐藏了Form1,显示了Form2。因此,要到达预计目标,需要把Form1.Hide和Form2.Show两个语句移到条件KeyAscii=13的内部,即两个End If之间。