1、国家二级 VB机试(键盘与鼠标事件过程)模拟试卷 1及答案与解析 一、选择题 1 以下关于键盘事件的叙述中,错误的是 ( A)按下键盘按键既能触发 KeyPress事件,也能触发 KeyDown事件 ( B) KeyDown、 KeyUp事件过程中,大、小写字母被视作相同的字符 ( C) KeyDown、 KeyUp事件能够识别 Shift、 Alt、 Ctrl等键 ( D) KeyCode是 KeyPress事件的参数 2 下面不是键盘事件的是 ( A) KeyDown ( B) KeyUp ( C) KeyPress ( D) KeyCode 3 以下可以判断是否在文本框 (名称为 Tex
2、t1)内按下了回车键的事件过程是 ( A) Text1_Change ( B) Text1_Click ( C) Text1_KeyPress ( D) Text1_GotFocus 4 以下说法中正确的是 ( A)当焦点在某个控件上时,按下一个字母键,就会执行该控件的 KeyPress事件过程 ( B)因为窗体不接受焦点,所以窗体不存在自己的 KeyPress事件过程 ( C)若按下的键相同, KeyPress事件过程中的 KeyAscii参数与 KeyDown事件过程中的 KeyCode参数的值也相同 ( D)在 KeyPress事件过程中, KeyAscii参数可以省略 5 向文本框中输
3、入字符时,下面能够被触发的事件是 ( A) GotFocus ( B) KeyPress ( C) Click ( D) MouseDown 6 关于 KeyPress事件,以下叙述中正确的是 ( A)在控件数组的控件上按键盘键,不能触发 KeyPress事件 ( B)按下键盘上任一个键时,都能触发 KeyPress事件 ( C)按字母键时,拥有焦点的控件的 KeyPress事件会被触 发 ( D)窗体没有 KeyPress事件 7 下列事件的事件过程中,参数是输入字符 ASCII码的是 ( A) KeyDown事件 ( B) KeyUp事件 ( C) KeyPress事件 ( D) Chan
4、ge事件 8 文本框 Text1的 KeyDown事件过程如下: Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)End Sub 其中参数 KeyCode的值表示的是发生此事件时 ( A)是否按下了 Alt键或 Ctrl键 ( B)按下的是 哪个数字键 ( C)所按的键盘键的键码 ( D)按下的是哪个鼠标键 9 VB中有 3个键盘事件: KeyPress、 KeyDown、 KeyUp,若光标在 Text1文本框中,则每输入一个字母 ( A)这 3个事件都会触发 ( B)只触发 KeyPress事件 ( C)只触发
5、KeyDown、 KeyUp事件 ( D)不触发其中任何一个事件 10 在窗体上画一个命令按钮和一个文本框 (名称分别为 Command 1和 Text1),并把窗体的 KeyPreview属性设置为 True,然后编写如下代码: Dim SaveAll As String Private Sub Form_KeyPress(KeyAscii_ Private Sub Form_Load() As Integer) Text1 Text=“: Text1 SetFocus SaveAll=SaveAll+Chr(KeyAscii) End Sub End Sub Private Sub Com
6、mand 1_Click() Text 1 Text=LCase(SaveAll)+SaveAll End Sub 程序运行后,直接用键盘输入: VB,再单击命令按钮,则文本框中显示的内容为 ( A) vbVB ( B)不显示任何信息 ( C) VB ( D)出错 11 窗体上有一个 Text1文本框,并编写了下面事件过程: Private Sub Text 1_KeyPress(KeyAscii As Integer) KeyAscii=KeyAscii+3 End Sub 程序运行时,在文本框中输入字符 “A”,则在文本框中实际显示的是 ( A) A ( B) B ( C) C ( D)
7、D 12 对于文本框 Text1,能够获得按键的 ASCII码值的事件过程是 ( A) Text1_ KeyUp ( B) Text1_ KeyPress ( C) Text1_Click ( D) Text_Change 13 将窗体的 KeyPreview属性设为 True,然后编写如下程序: Private Sub Form KeyDown(KeyCode_ Private Sub Form_KeyPress(KeyAscii As Integer,Shift As Integer) As Integer) Print Chr(KeyCode) Print Chr(KeyAscii) E
8、nd Sub End Sub 运行程序时,按下字母键 a,则窗体上显示的是 ( A) A A ( B) A a ( C) a A ( D) a a 14 在窗体上画 1名为 Command 1的命令按钮和 1名 Text1的文本框,再编写如下程序: Dim ss As String Private Sub Command 1_Click() Private Sub Text 1 KeyPress(KeyAscii_ Dim m As String, i As Integer As Integer) For i=Len(ss)To 1 Step-1 If Chr(KeyAscii)“Then m
9、=m+Mid(ss, i, 1) ss=ss+Chr(KeyAscii) Next End Sub Text 1 Text=UCase(m) End Sub 程序运行后,在文本框中输入 “Number 100”,并单击命令按钮,则文本框中显示的是 ( A) NUMBER 100 ( B) REBMUN ( C) REBMUN 100 ( D) 001 REBMUN 15 窗体上有 1个名称为 Text1、内容为空的文本框。编写如下事件过程: Private Sub Text 1_KeyUp(KeyCode As Integer, Shift As Integer) Print Text1 Te
10、xt; End Sub 运行程序,并在文本框中输入 “123”,则在窗体上 的输出结果为 ( A) 123 ( B) 112 ( C) 12123 ( D) 1 12123 16 设窗体上有 2个文本框 Text1和 Text2,并有下面的事件过程: Dim n Private Sub Text 1_KeyPress(KeyAscii As Integer) If“A“=Chr(KeyAscii)And Chr(KeyAscii)=“Z“Then n=n+1 End If IfKeyAscii=13 Then Text2 Text=n End Sub 程序运行时,在文本框 Text1中输入 “
11、Visual Basic 6 0”并按回车键后,在文本框Text2中显示的是 ( A) 2 ( B) 9 ( C) 13 ( D) 16 17 若看到程序中有以下事件过程,则可以肯定的是,当程序运行时 Private Sub Click MouseDown(Button As Integer,Shift As Integer,X As Single, Y As Single) Print_VB Program_ End Sub ( A)用鼠标左键单击名称为 “Command1”的命令按钮时,执行此过程 ( B)用 鼠标左键单击名称为 “MouseDown”的命令按钮时,执行此过程 ( C)用鼠
12、标右键单击名称为 “MouseDown”的控件时,执行此过程 ( D)用鼠标左键或右键单击名称为 “Click”的控件时,执行此过程 18 设有窗体的 Form MouseMove事件过程如下: Private Sub Form MouseMove(Button As Integer,Shift As Integer,X As Single, Y As Single) If(Button And 3)=3 Then Print“检查按 键 “ End If End Sub 关于上述过程,以下叙述中正确的是 ( A)按下鼠标左键时,在窗体上显示 “检查按键 ” ( B)按下鼠标右键时,在窗体上显
13、示 “检查按键 ” ( C)同时按下鼠标左、右键时,在窗体上显示 “检查按键 ” ( D)不论做何种操作,窗体上都不会显示 19 要求当鼠标在图片框 P1中移动时,立即在图片框中显示鼠标的位置坐标。下面能正确实现上述功能的事件过程是 ( A) Private Sub P 1_ouseMove(Button As Integer, Shift As Integer, X As Single,Y As Single) Print X, Y End Sub ( B) Private Sub P 1_MouseDown(Button As Integer, Shift As Integer, X As
14、 Single, Y As Single) Picture Print X, Y End Sub ( C) Private Sub P 1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) P1 Print X, Y End Sub ( D) Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) P1 Print X, Y End Sub 20 窗体的 MouseUp事件过程
15、如下: Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) End Sub 关于以上定义,以下叙述中错误的是 ( A)根据 Shift参数,能够确定使用转换键的情况 ( B)根据 X、 Y参数可以确定触发此事件时鼠标的位置 ( C) Buon参数的值是在 MouseUp事件发生时,系统自动产生的 ( D) MouseUp是鼠标向上移动时触发的事件 21 命令按钮 Command 1的 MouseUp事件过程结构如下: Private Sub Command 1-Mouse
16、Up(Button As Integer,Shift As Integer,X As Single, Y As Single) End Sub 则以下叙述中错误的是 ( A) X、 Y参数表示的是 Command1左上角在窗体中的位置 ( B) Buon参数用于确定按下的鼠标键 ( C) Shift参数用于确定是否按下了 Alt、 Ctrl或 Shift键 ( D) MouseUp表示抬起鼠标按键时触发的事件 22 有下面事件过程: Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single, Y As S
17、ingle) IfButton=2 Then Form1 PSet(X, Y)PSet方法可以在 X, Y处画一个点 End If End Sub 程序运行后,产生的效果是 ( A)在窗体上每单击鼠标左键一次,就在鼠标位置处画一个点 ( B)按着鼠标左键,移动鼠标,可在窗体上画出鼠标的运动轨迹 ( C)按着鼠标右键,移动鼠标,可在窗体上画出鼠标的运动轨迹 ( D)不按任何鼠标键,移动鼠标,可在窗体上画出鼠标的运动轨迹 23 窗体上已有 1个名称为 Picturel的图片框,要求实现下面 2个功能之一: (1)在窗体上移动鼠标时,立即将 Picturel显示在 鼠标位置 (2)在窗体上单击鼠标时
18、,立即将 Picturel显示在鼠标位置下面不能实现上述任何功能的事件过程是 ( A) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Picturel Move X, Y End Sub ( B) Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single,Y As Single) Picturel Move X, Y End Sub ( C) Private Sub For
19、m_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Picture 1 CurrentX=X: Picture 1 CurrentY=Y End Sub ( D) Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) Picturel Move X, Y End Sub 24 编写如下程序: Private Sub Form_Click() Print“Welcome!“
20、End Sub Private Sub Form_MouseDown(Button As Integer,Shift As Integer,X As Single , Y As Single) Pnnt“欢迎 !“ End Sub Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single, Y As Single) Print“热烈欢迎 !“ End Sub 程序运行后,单击窗体,输出结果为 ( A)欢迎 !热烈欢迎 !Welcome! ( B)欢迎 !Welcome!热烈欢迎 ! ( C) Welcome!
21、欢迎 !热烈欢迎 ! ( D) Welcome!热烈欢迎 !欢迎 ! 25 下列操作说明中,错误的是 ( A)在具有焦点的对象上进行一次按下字母键操作,会引发 KeyPress事件 ( B)可以通过 MousePointer属性设置鼠标光标的形状 ( C)不可以在属性窗口设置 MousePointer属性 ( D)可以在程序代码中设置 MousePointer属性 26 窗体上有 1个名称为 Text1的文本框, 1个名称为 Labell的标签。程序运行后,如果在文本框中输入信息,则立即在标签中显示相同的内容。以下可以实现上述操作的事件过程为 ( A) Private Sub Label1 C
22、lick() Private Sub Label1 Click() End Sub ( B) Private Sub Label1 Change() Label1 Caption=Text1 Text End Sub ( C) Private Sub Text 1_Click() Label1 Caption=Text1 Text End Sub ( D) Private Sub Text 1_Change() Labell Caption=Text1 Text End Sub 27 鼠标拖放控件要触发两个事件,这两个事件是 ( A) DragOver事件和 DragDrop事件 ( B) D
23、rag事件和 DragDrop事件 ( C) MouseDown事件和 KeyDown事件 ( D) MouseUp事件和 KeyUp事件 28 为了实现对象的自动拖放,应该设置该对象的一个属性。下面设置中正确的是 ( A) DragMode=1 ( B) DragMode=0 ( C) Draglcon=1 ( D) DragIcon=0 国家二级 VB机试(键盘与鼠标事件过程)模拟试卷 1答案与解析 一、选择题 1 【正确答案】 D 【试题解析】 当用户按下并释放一个可打印的键盘字符时, KeyDown、KeyPress、 Key1 Jp事件将依次发生。 KeyDown、 Keytjp事件
24、过程有两个 参数,其 111 KeyCode参数是表示所按键的位置信息的代码,同一字符大、小写状态下的 KeyCode参数值相同。 ShiR参数代表按键时 Shift、 Ctrl、 Alt键的状态。 【知识模块】 键盘与鼠标事件过程 2 【正确答案】 D 【试题解析】 常见的键盘事件有: KeyDown、 Keyup和 KeyPress。当用户按下并释放一个可打印的键盘字符时, KeyDown、 KeyPress、 KeyUp事件将依次发生。 KeyCode是 KeyDown、 KeyUp事什的参数。 【知识模块】 键盘与鼠标 事件过程 3 【正确答案】 C 【试题解析】 键盘事件过程,主要用
25、于处理当按下或释放键盘上某个键时所执行的操作。当按下键盘上某个键时,将触发当前拥有焦点的对象的 KeyPress事件。 【知识模块】 键盘与鼠标事件过程 4 【正确答案】 A 【试题解析】 本题考查的考点是有关键盘事件的。当控件具有焦点时,如果按下一个字母键,将会触发此控件的 KeyPress事件:窗体也有自己的 KeyPress事件,由控件的 KeyPreview属性决定是否触发: KeyAscii参数是所按键的 ASCII的 代码,将每个字符的大、小写形式作为不同的键代码解释,不可省略; Keycode参数是表示所按键的位置信息的代码 (将 A和 a作为同一个键返回,而从大键盘上输出的 “
26、1”和右侧小键盘上输入的 “1”将被视作不同的字符 )。 【知识模块】 键盘与鼠标事件过程 5 【正确答案】 B 【试题解析】 KeyPress(KeyAsc As Integer)事什是在对象具有焦点时,按下键盘上的键时触发的事件, KeyPress(KeyAscii As Integer)事件中 KeyAscij参数是所按键的 Ascii代码。 【知识模块】 键盘与鼠标事件过程 6 【正确答案】 C 【试题解析】 当按下键盘上某个键时,将触发当前拥有焦点的对象的 KeyPress事件。如果按下的是功能键如 Alt、 Shift等则不能触发此事件。窗体也具有KeyPress事件,在控件数组的
27、控件上按键盘键也能触发 KeyPress事件。 【知识模块】 键盘与鼠标事件过程 7 【正确答案】 C 【试题解析】 当按下键盘下某个键时,将触发当前拥有焦点的对象的 KevPress事件。它的 KevAscii参数是所按键的 AscII码值, 该参数传递一个字符,并且把字符的大、小写形式作为两种不同的字符。 KeyDown和 Keyup事件的参数KeyCode是按下键盘键的键值。 【知识模块】 键盘与鼠标事件过程 8 【正确答案】 C 【试题解析】 本题考查的考点是有关键盘事件 KeyDown的。 KeyCode参数是表示所按键的位置信息的代码。 【知识模块】 键盘与鼠标事件过程 9 【正确
28、答案】 A 【试题解析】 当控件具有焦点时,如重按 F一个字母键,将会依次触发此控件的KeyDown、 Keyup和 KeyPress事件。 【知识模块】 键盘与鼠标事件过程 10 【正确答案】 A 【试题解析】 本题考查的考点是有关键盘事件的。 KeyPreview属性用于设置是否在控件的键盘事件之前激活窗体的键盘事件。 KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下键盘上的键时触发的事件, KeyAscii参数是所按键的 AscII的代码,将每个字符的大、小写形式作为不同的键代码解释。本题中输入“VB”的时候触发了窗体的 KeyPress事件,将全局
29、变量 SaVeAll设置为了 “VB”,所以单击命 令按钮后,文本框中的值为 “vbVB”。 【知识模块】 键盘与鼠标事件过程 11 【正确答案】 D 【试题解析】 KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下键盘上的键时触发的事件, KevAscii参数是所按键的 Ascii的代码,将每个字符的大、小写形式作为不同的键代码解释。本题中令参数 KeyAscii自加 3,则为该字母后面第三个字母。 【知识模块】 键盘与鼠标事件过程 12 【正确答案】 B 【试题解析】 KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下
30、键盘上的键时触发的事件, KeyAscii参数是所按键的 Ascii的代码,将每个字符的大、小写形式作为不同的键代码解释。 【知识模块】 键盘与鼠标事件过程 13 【正确答案】 B 【试题解析】 KeyCode参数是表示所按键的位置信息的代码,同一字符大、小写状态下的 Keycode参数值相同,都是大写字符的 ASCII码值; KeyAscii参数是所按键的 AScII码值,该参数传递一个字符,并且把字符的大、小写形式作为两种不同的字符。 【知识模块】 键盘与鼠标事件过程 14 【正确答案】 D 【试题解析】 KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按
31、下键盘上的键触发的, KeyPress(KeyAscii As Integer)事件中 KeyAscii参数是所按键的ASCII代码,该参数不显示键盘的物理状态,而只是传递一个字符代码。KeyPress将每个字符的大、小写形式作为不同的键代码解释,即作为两种不同的字符。 Chr()可返回 ASCII码对应的字符。 本题程序运行后,在文本框中每输入一个字 符,将执行 Text1 KeyPress事件过程,变量 ss的值也随即变化,当输入“Number100”后,变量 ss=”Nurnber100”。单击命令按钮后,执行 Command1 click事件过程,将字符串 “Number100”中的字
32、符逆序排列并以大写形式显示在文本框中,即 “001 REBMUN”。 【知识模块】 键盘与鼠标事件过程 15 【正确答案】 D 【试题解析】 当对象具有焦点时,释放键盘:某个按下的键时将触发该对象的KeyUp事件,所以每在文本框中按键一次就会触发一次该事件,第一次 输出 1,第二次输出 12,第三次输出 123。 【知识模块】 键盘与鼠标事件过程 16 【正确答案】 A 【试题解析】 KeyPress(KeyAscii As Ineger)事件是在对象具有焦点时,按下键盘上的键触发的, KeyPress(KeyAscii As Integer)事件中 KeyAscii参数是所按键的ASCII代
33、码,该参数不显示键盘的物理状态,而只是传递一个字符代码。KevPress将每个字符的大、小写形式作为不同的键代码解释,即作为两种不同的字符。在本题中 n的值是文本框中大写字母 的个数。 【知识模块】 键盘与鼠标事件过程 17 【正确答案】 D 【试题解析】 鼠标按下事件 (MouseDown)适用于窗体和大多数控件,包括复选框、命令按钮、单选按钮、框架、文本框、目录框、文件框、图像框、图片框、标签、列表框等。事件过程名格式为:摔件名事件名,故本题 Private sub Click MouseDown中的 Click应为控件名。 【知识模块】 键盘与鼠标事件过程 18 【正确答案】 C 【试题
34、解析】 鼠标事件的 Button参数用以表示被按下的鼠标键,可以 取 3个值,按下左键取值为 1,按下右键取值为 2,按下中键取值为 4,若同时按下多个键,则取值为多个键值之和。 【知识模块】 键盘与鼠标事件过程 19 【正确答案】 C 【试题解析】 存图片框中移动鼠标触发的事件是 P1 MouseMove事件,在事件中控制在图片输出坐标。 【知识模块】 键盘与鼠标事件过程 20 【正确答案】 D 【试题解析】 鼠标状态事件又分为按下事件 (MouseDown)、移动事件(MouseMove)和弹起事件 (Mouseup),这三个事件具有相同的参数。 Button参数的值是在 Mouseup事
35、件发生时,系统自动产生的,代表按下的是那个鼠标键; ShiR参数确定使用转换键的情况: X、 Y参数可以确定触发此事件时鼠标的位置。 【知识模块】 键盘与鼠标事件过程 21 【正确答案】 A 【试题解析】 鼠标状态事件又分为按下事件 (MouseDown)、移动事件(MouseMove)和弹起事件 (MouseUp),这三个事件具有相同的参数。 Button参数的值是在 Mouseup事件发生时,系统自动产生的,代表按下的是那个鼠标键; Shift参数确定使用转换键的情 况; X、 Y参数可以确定触发此事件时鼠标的位置。 【知识模块】 键盘与鼠标事件过程 22 【正确答案】 C 【试题解析】
36、鼠标事件分点击事件和状态事件:点击事件有单击 (click)和双击(DblClick),不区分左右键;状态事件有按 F(MouseDown)、移动 (MouseMove)和弹起 (Mouseup),能够区分出鼠标的左、右和中间键。如果鼠标按钮是当其指针在窗体或控件之上时被按下并释放,则该对象将 “捕获 ”鼠标并接收全部与该对象相关的鼠标事件。在本题代码中当鼠标移动时触发 MouseMove事件,此时判断按下的鼠标键为右键 (Button=2)时,则在窗体鼠标指针经过的位置依次画点,从而形成一条线。 【知识模块】 键盘与鼠标事件过程 23 【正确答案】 C 【试题解析】 图片框的 Current
37、X和 CurrentY属性会在程序运行时,返回或设置下一次打印或绘图位置的水平坐标和垂直坐标。 Move方法用于移动窗体或控件,其语法:对象名 Move Left, Topdth, Height。其中, Left和 Top参数分别表示对象左侧的水平坐标和上侧的垂直坐标, width和 Height参数分别表示对象新的宽度和高度。 【知识模块】 键盘与鼠标事件过程 24 【正确答案】 A 【试题解析】 鼠标事件点击事件和状态事件:其中,点击事件有单击事件 (Click)和双击事件 (DblClick),这两个事件不区分左键和有键:状态事件又分为按下事件(M0useDown)、移动事件 (Mous
38、eMove)和弹起事件 (Mouseup),这 3个事件能够区分出鼠标的左键、右键和中间键。当在控件和窗体上单击鼠标左键的时候,首先触发按下事件,然后触发单击事件,最后触发弹起事件。 【知识 模块】 键盘与鼠标事件过程 25 【正确答案】 C 【试题解析】 在具有焦点的对象上进行一次按下字母键操作,会引发 KeyPress事件。 MousePointer属性用于设置或返回鼠标经过某对象时光标的形状类型,其值可以是 0 15之间的任一整数,不同的值代表不同的形状,可以在程序设计时通过属性窗口设置,也可以在程序运行阶段通过代码设置。 【知识模块】 键盘与鼠标事件过程 26 【正确答案】 D 【试题
39、解析】 当文本框中文本内容改变时将触发其 Change事件,要在文本框中输入信息的同时 立即在标签中显示相同的内容,需在文本框的 change事件过程中执行相关语句。 【知识模块】 键盘与鼠标事件过程 27 【正确答案】 A 【试题解析】 与鼠标拖放有关的事件有 DragDrop和 DragOver两个,其中DragOver在拖动控件到一个目标控件上释放鼠标键时触发, DragDrop在拖放过程中触发。 【知识模块】 键盘与鼠标事件过程 28 【正确答案】 A 【试题解析】 DragMode属性用于设置在拖放控件的操作中所用的是手动还是自动拖动方式,当设置为 1(自动方式 )时,在控件上按下鼠标键即可开始拖放操作。当设置为 0(手动方式,默认值 )时,需使用对象的 Drag方法来开始、结束或取消拖放操作。 【知识模块】 键盘与鼠标事件过程