设工程中有2个窗体:Form1、Form2,Form1为启动窗体。Form2中有菜单,其结构如表。要求在程序运行时,在Form1的文本框Text1中输入口令并按回车键(回车键的ASCII码为13)后,隐藏Form1,显示Form2。若口令为"Teacher

admin2015-08-28  37

问题 设工程中有2个窗体:Form1、Form2,Form1为启动窗体。Form2中有菜单,其结构如表。要求在程序运行时,在Form1的文本框Text1中输入口令并按回车键(回车键的ASCII码为13)后,隐藏Form1,显示Form2。若口令为"Teacher",所有菜单都可见;否则看不到"成绩录入"菜单项。为此,某人在Form1窗体文件中编写如下程序:

Private Sub Text11_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,程序需要修改。下面修改方案中正确的是(  )。

选项 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和显示From2的语句与判断是否按了回车键的语句是顺序的,即不论按了什么键,都会执行隐藏Form1和显示From2的语句。这两句应该上移到第二个EndIf前面,也就是放在判断是否按了回车键的If语句块中。因此B选项正确。
转载请注明原文地址:https://kaotiyun.com/show/EdQp777K
0

最新回复(0)