1、国家二级 VB机试(键盘与鼠标事件过程)模拟试卷 2及答案与解析 一、选择题 1 以下说法中正确的是 ( )。 ( A)当焦点在某个控件上时,按下一个字母键,就会执行该控件的 KeyPress事件过程 ( B)因为窗体不接受焦点,所以窗体不存在自己的 KeyPress事件过程 ( C)若按下的键相同, KeyPress事件过程中的 KeyAseii参数与 KeyDown事件过程中的 KeyCode参数的僵也相同 ( D)在 KeyPress事件过程中, KeyAscii参数可以省略 2 关于 KeyPress事件, 以下叙述中正确的是 ( )。 ( A)在控件数组的控件上按键盘键,不能触发 K
2、eyPress事件 ( B)按下键盘上任一个键时,都能触发 KeyPress事件 ( C)按字母键时,拥有焦点的控件的 KeyPress事件会被触发 ( D)窗体没有 KeyPress事件 3 在窗体上画一个命令按钮和一个文本框 (名称分别为 Command1和 Text1),并把窗体的 KeyPreview属性设置为 True,然后编写如下代码: Dim SaveAll As String Private Sub Form_Load() Show Text1 Text=“ Text1 SetFocus End Sub Private Sub C ammand1_Click() Text1 T
3、ext=LCase(SaveAll)+SaveAll End Sub Private Sub Form_KeyPress(KeyAscii As Integer) SaveAll=SaveAll+Chr(KeyAscii) End Sub 程序运行后,直接用键盘输入 VB,再单击命令按钮,则文本框中显示的内容为( )。 ( A) vbVB ( B)不显示任何信息 ( C) VB ( D)出错 4 以下关于键盘事件的叙述中,错误的是 ( )。 ( A)按下键盘按键既能触发 KeyPress事件,也能触发 KeyDown事件 ( B) KeyDown、 KeyUp事件过程中,大、小写字母被视作相同
4、的字符 ( C) KeyDown、 KeyUp事件能够识别 Shift、 Ah、 Ctrl等键 ( D) KeyCode是 KeyPress事件的参数 5 下面不是键盘事件的是 ( )。 ( A) KeyDown ( B) KeyUp ( C) KeyPress ( D) KeyCode 6 设窗体上有 2个文本框 Textl和 Text2,并有下面的事件过程: Dim n Private Sub Text1_KeyPress(KeyAscii As Integer) If“A“ =Chr(KeyAscii)And Chr(KeyAscii) =“Z“Then n=n+1 End If If
5、KeyAscii=13 Then Text2 Text=n End If End Sub 程序运行时,在文本框 Textl中输入 “Visual Basic 6 0”并按 Enter键后,在文本框Text2中显示的是 ( )。 ( A) 2 ( B) 9 ( C) 13 ( D) 16 7 窗体上有一个 Text1文本框,并编写了下面事件过程: Private Sub Text1_KeyPress(KeyAscii As Integer) KeyAscii=KeyAscii+3 End Sub 程序运行时,在文本框中输入字符 “A”,则在文本框中实际显示的是 ( )。 ( A) A ( B)
6、B ( C) C ( D) D 8 下列事件的事件过程中,参数是输入字符 ASCII码的是 ( )。 ( A) KeyDown事件 ( B) KeyUp事件 ( C) KeyPress事件 ( D) Change事件 9 对于文本框 Text1,能够获得按键的 ASCII码值的事件过程是 ( )。 ( A) Text1_KeyUp ( B) Text1_KeyPress ( C) Text1_Click ( D) Text1_Change 10 将窗体的 KeyPreview属性设为 True,然后编写如下程序: Private Sub Form_KeyDown(KeyCode As Inte
7、ger, Shift As Integer) Print Chr(KeyCode) End Sub Privme Sub Form_KeyPress(KeyAscii As Integer) Print Chr(KeyAscii) End Sub 运行程序时,按下字母键 a,则窗体上显示的是 ( )。 ( A) A A ( B) A a ( C) a A ( D) a a 11 以下可以判断是否在文本框 (名称为 Text1)内按下了回车键的事件过程是 ( )。 ( A) Text1_Change ( B) Text1_Click ( C) Text1_KeyPress ( D) Text1_
8、GotFocus 12 下面叙述中错误的是 ( )。 ( A)由于窗体不能获得焦点,所以窗体没有键盘事件 ( B) 框架控件没有键盘事件 ( C)标签控件没有键盘事件 ( D)文本框有键盘事件,但当 Enabled属性被设置为 False时,其键盘事件无法被激活 13 文本框 Text1的 KeyDown事件过程如下: Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer) End Sub 其中参数 KeyCode的值表示的是发生此事件时 ( )。 ( A)是否按下了 Alt键或 Ctrl键 ( B)按下的是哪个数字键 (
9、 C) 所按的键盘键的键码 ( D)按下的是哪个鼠标键 14 窗体上有两个名称分别为 Text1、 Text2的文本框。 Text1的 KeyUp事件过程如下: Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) Dim c As String c=UCase(Chr(KeyCode) Text2 Text=Chr(Asc(c)+2) End Sub 当向文本框 Text1中输入小写字母 a时,文本框 Text2中 显示的是 ( )。 ( A) A ( B) a ( C) C ( D) c 15 VB中有 3个键盘事件:
10、KeyPress、 KeyDown和 KeyUp,若光标在 Text1文本框中,则每输入一个字母 ( ( A)这 3个事件都会触发 ( B)只触发 KeyPress事件 ( C)只触发 KeyDown、 KeyUp事件 ( D)不触发其中任何一个事件 16 窗体上有 1个名称为 Text1、内容为空的文本框。编写如下事件过程: Private Sub Text1_KeyUp(KeyCode As Integer, Shift As Integer) Print Text1 Text; End Sub 运行程序,并在文本框中输入 “123”,则在窗体上的输出结果为 ( )。 ( A) 123 (
11、 B) 112 ( C) 12123 ( D) 112123 17 编写如下程序: Private Sub Form Click() Print“Welcome!“ End Sub Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single,Y As Single) Print“欢迎 !“ End Sub Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) Print“热烈欢迎 !
12、“ End Sub 程序运行后,单击窗体,输出结果为 ( )。 ( A)欢迎 ! 热烈欢迎 ! Welcome! ( B)欢迎 ! Welcome! 热烈欢迎 ! ( C) Welcome! 欢迎 ! 热烈欢迎 ! ( D) Welcome! 热烈欢迎 ! 欢迎 ! 18 若看到程序中有以下事件过程,则可以肯定的是,当程序运行时 ( )。 Private Sub Chck_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Print”VB Program” End Sub ( A)用鼠标左键单击名称
13、为 “Command1”的命令按钮时,执行此过程 ( B)用 鼠标左键单击名称为 “MouseDown”的命令按钮时,执行此过程 ( C)用鼠标右键单击名称为 “MouseDown”的控件时,执行此过程 ( D)用鼠标左键或右键单击名称为 “Click”的控件时,执行此过程 19 窗体的 MouseUp事件过程如下: Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) End Sub 关于以上定义,以下叙述中错误的是 ( )。 ( A)根据 Shift参数,能够确定使用转
14、换键的情况 ( B)根据 X、 Y参数可以确定触发此事件时鼠标的位置 ( C) Button参数的值是在 MouseUp事件发生时,系统自动产生的 ( D) MouseUp是鼠标向上移动时触发的事件 20 命令按钮 Command1的 MouseUp事件过程结构如下: Private Sub Command1_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) End Sub 则 以下叙述中错误的是 ( )。 ( A) X、 Y参数表示的是 Command1左上角在窗体中的位置 ( B) Button参数
15、用于确定按下的鼠标键 ( C) Shift参数用于确定是否按下了 Ah、 Ctrl或 Shift键 ( D) MouseUp表示抬起鼠标按键时触发的事件 21 要求当鼠标在图片框 P1中移动时,立即在图片框中显示鼠标的位置坐标。下面能正确实现上述功能的事件过程是 ( )。 ( A) Private Sub P1_MouseMove(Button As Integer, Shift As Integer, X As Single,Y As Single) Print X, Y End Sub ( B) Private Sub P1_MouseDown(Button As Integer, Shi
16、ft As Integer, X As Single, Y AsSingle) Picture Print X Y End Sub ( C) Private Sub P1_MouseMove(Button As Integer, Shift As Integer, X As SinOe,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 22 设
17、有窗体的 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)按下鼠标右键时,在窗体上显示 “检查按键 ” ( C)同时按下鼠标左、右键时,在窗体上显示 “检查按键 ” ( D)不论做何种操作,窗体上都不会显示 23
18、要求在程序运行时,如果按住鼠标左键不放而移动鼠标,鼠标的位置坐标同步显示在窗体右上角 的标签 (名称为 Label1)中,如右图所示,放开鼠标左键后,停止同步显示。 下面可以实现此功能的程序是 ( )。 ( A) Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button=1, Then Label1=“X=“&X&“ Y=“&Y End If End Sub ( B) Private Sub Form_MouseUp(Button As Integer,
19、 Shm As Integer, X As Single,Y As Single) If Button=1 Then Label1=“X=“ X&“ Y=“&Y End If End Sub ( C) Private Sub Form_MouseMove(Button AS Integer, Shift As Integer, X As Single, Y As Single) If Button=1 Then Label1=“X=“&X&“ Y=“ Y End If End Sub ( D) Private Sub Form_MouseMove(Button As Integer, Shif
20、t As Integer, X As Single, Y As Single) Label1=“X=“ X “ Y=“&Y End Sub 24 下列操作说明中,错误的是 ( )。 ( A)在具有焦点的对象上进行一次按下字母键操作,会引发 KeyPress事件 ( B)可以通过 MousePointer属性设置鼠标光标的形状 ( C)不可以在属性窗口设置 MousePointer属性 ( D)可以在程序代码中设置 MousePointer属性 25 为了实现对象的自动拖放,应该设置该对象的一个属性。下面设置中正确的是( )。 ( A) DragMode=1 ( B) DragMode=0 (
21、C) DragIcon=1 ( D) DragIcon=0 26 鼠标拖放控件要触发两个事件,这两个事件是 ( )。 ( A) DragOver事件和 DragDrop事件 ( B) Drag事件和 DragDrop事件 ( C) MouseDown事件和 KeyDown事件 ( D) MouseUp事件和 KeyUp事件 国家二级 VB机试(键盘与鼠标事件过程)模拟试卷 2答案与解析 一、选择题 1 【正确答案】 A 【试题解析】 B选项错误原因:窗体有自己的 KeyPress事件过程; C选项错误原因: KeyPress事件过程中的 KeyAscii参数返回按键的 ASCII码值,大小写字
22、母返回值不同;而 KeyDown事件过程中的 KeyCode参数返回的是按键代码,大小写字母返回值相同。故按下的键相同时, keyAscii和。 KeyCode参数不一定返回相同值; D选项错误原因: KeyPress事件中的 KeyAscii参数不能省略。 A选项正确。 【知识模块】 键盘与鼠标事件过程 2 【正确答案】 C 【试题解析】 A选项错误原因:在控件数组的任何控件上按键盘键,都会触发KeyPress事件。 B选项错误原因:只有按键盘上的 ASCII字符键时,才能触发 KeyPress事件。ASCII字符键包括标准键盘上的字符、数字、标点符号、 、 和键等,其他键 KeyPress
23、事件不能识别。 D选项错误原因:窗体也有 KeyPresss事件。故 C选项正确。 【知识模块】 键盘与鼠标事件过程 3 【正确答案】 A 【试题解析】 窗体的。 KeyPreview属性用于设置或获取一个值,该值只是判断按键事件传递到具有焦点的控件前,窗体是否将接收此事件,该属性设为 True时,窗体将会接收按健事件。因此在文本框中输入 “VB”时,会先触发Form_KeyPress()事件,该事件将输入的字符保存到窗体模块变量 SaveAll电,然后才会显示在文本框中。当单击命令按 钮时, LCase函数将变量 SaveAll中的字符串 “VB”转换为小写,为 “vb”,然后与原字符串连接
24、,即 “vb”+“VB”。显示在文本框中则为 “vbVB”。 【知识模块】 键盘与鼠标事件过程 4 【正确答案】 D 【试题解析】 当用户按下键盘上的任意键时,会触发当前拥有焦点对象的KeyDown事件,用户松开键盘上任意键时,就会触发 KeyUp事件。当用户按下又松开键盘上任意键时,触发 KeyPress事件。故 A选项正确。 KeyDown事件和 KcyUp事件均向事件过程返回两个参数 KeyCode和 Shift。KeyCode参数返回所按键对应的 ASCII字符代码的整型数值或键代码常数,大小写字符被看作是相同字符,返回同一个 KeyCode值。故 B选项正确。 Shift参数用于判断
25、用户是否按下 Shift、 Ctrl和 Alt键,若用户按下了对应的键, Shift参数会返回不同的值。根据以上 KeyDown和 KeyUp事件能识别 Shift、Ctrl和 Alt键。故 C选项正确。 KeyPress事件只有一个参数 KeyAscii,它可以返回按键对应的 Ascii值,大小写字母 Ascii值不同。 KeyCode不是 KeyPress事件的参数。故 D选项误。 【知识模块】 键盘与鼠标事件过程 5 【正确答案】 D 【试题解析】 KeyCode是 KeyDown、 KeyUp键盘事件的参数,不是键盘事件,它返回的是按键相应的 ASCII字符代码。故选项 D错误。 【知
26、识模块】 键盘与鼠标事件过程 6 【正确答案】 A 【试题解析】 KeyPress事件的参数 KeyAscii为所按键的 ASCH码, Chr函数把这个 ASCII码转换为对应的字符, Enter键的 ASCII码值是 13。程序中 KeyPress过程的功能是统计 Text1文本框中输入的字符串中 A Z之间字母的个数,按Enter键后把个数值显示在 Text2文本框中。在。 rext1文本框中输入 “Visual Basic 6 0”,其中 A z的字母有 2个,按 Enter键后, Text2文本框中将会显示 2。 【知识模块】 键盘与鼠标事件过程 7 【正确答案】 D 【试题解析】 K
27、eyPress事件执行时,其中的 KeyAscii参数是所按键的 ASCII码,按下 “A”键, KeyAscii的值为 65,在过程中 65+3=68,即 A字符后面的 第 3个字符的 ASCII码值,即字符 “D”,因此在文本框中回显 “D”。 【知识模块】 键盘与鼠标事件过程 8 【正确答案】 C 【试题解析】 KeyPress事件参数 KcyAsdi As Integer, KeyAscii是所按键字符盼ASCII码。 KeyDown和。 KeyUp事件参数有两个,是 KeyCode As Integer和Shift As Integer, KeyCode是按键的实际的 ASCII码,
28、同一个按键上的大小写字母的 KeyCode相同 (使用大写字母的 ASCII码 )。 【知识 模块】 键盘与鼠标事件过程 9 【正确答案】 B 【试题解析】 KeyPress事件:用户按下并且释放一个会产生 ASCII码的键时被触发。此事件只对会产生 ACSII码的按键有反应。包括数字、大小写的字母、Enter、 Backspace、 Esc、 Tab等,对于如方向键这样的不会产生 ASCII码的按键, KeyPress事件就不会被触发。 【知识模块】 键盘与鼠标事件过程 10 【正确答案】 B 【试题解析】 KeyCode是按键的实际的字符 (不区分大小写 ), KeyAscii是以字符为准
29、 ,是所按键的 ASCII码。 【知识模块】 键盘与鼠标事件过程 11 【正确答案】 C 【试题解析】 KeyPress事件:用户按下并且释放一个会产生 ASCII码的键时被触发。此事件只对数字、大小写的字母、 Enter、 Backspace、 Esc、 Ta等,会产生ASCII码的按键有反应,对于方向键等不会产生 Acsll码的按钮不会触发 Keypress事件。 【知识模块】 键盘与鼠标事件过程 12 【正确答案】 A 【试题解析】 KeyPreview属性返回或设置一个值,以决定是否在 控件的键盘事件之前激活窗体的键盘事件。键盘事件为 KeyDown、 KeyUp和 KeyPmss。当
30、KeyPreview的值为 Tme时窗体先接收键盘事件,然后是活动控件接收事件;为False时 (缺省值 )活动控件接收键盘事件,而窗体不接收。 【知识模块】 键盘与鼠标事件过程 13 【正确答案】 C 【试题解析】 参数 KeyCode返回的是所按键的键码,而且大小写字母键码值相同。故选 C。 【知识模块】 键盘与鼠标事件过程 14 【正确答案】 C 【试题解析】 KeyDown和 KeyUp事件的 KeyCode参数返回的是 “键 ”,即按字母 “A”和 “a”时得到的 KeyCode的值是相同的,都是 &H41。因此程序中对输入 “a”时得到的 KeyCode,经 Chr函数转为字符后为
31、 “A”,经 UCase函数转换仍为“A”,所以变量 c中的字符为 “A”。 Asc(c)将返回变量 c中的第一个字符的ASCII,加 2后,再由 Chr函数转为字符即为 “A”后面的第 2个字符,即 “C”。所以答案应为选项 C。 【知识模块】 键盘与鼠标事件过程 15 【正确答案】 A 【试题解析】 当用户按下某键时触发 KeyDown和 KeyPress事件,放开某键时触发 KeyU事件。故每输入一个字符,这 3个事件都会触发。故 A选项正确。 【知识模块】 键盘与鼠标事件过程 16 【正确答案】 D 【试题解析】 KeyUp事件是在松开按钮时发生。按下 1松开时,文本框中显示1,执行
32、KeyUp事件过程,在窗体上显示文本框内容,即 1。按下 2松开时,文本框中显示 12,执行 KeyUp事件过程,在窗体上 1后面接着现在显示文本框的内容,即窗体上显示为 112。按下 3松开时,文本框中显示 123,执行 Keyup事件过程,在窗体上 112后面接着 显示文本框的内容,即在窗体上显示为 112123。 【知识模块】 键盘与鼠标事件过程 17 【正确答案】 A 【试题解析】 在窗体事件中,鼠标按键按下激发 MouseDown事件,鼠标按钮松开发 M伽 seUp事件,鼠标按下并松开后激发 Click事件,所以这三个事件的顺序是 MouseDown、 MouseUp、 C1ick,
33、因此输出文字的顺序是 “欢迎 !”、 “热烈欢迎 !”、 “Welcome!”。 【知识模块】 键盘与鼠标事件过程 18 【正确答案】 D 【试题解析】 本题中, Click是控 件的名称, MouseDown是鼠标按下事件,当用鼠标左键或右键单击 Click控件时就会触发 MouseDown事件,执行 MouseDown事件过程。故选 D。 【知识模块】 键盘与鼠标事件过程 19 【正确答案】 D 【试题解析】 MouseUp事件是鼠标松开时触发的事件过程,事件过程的 Button参数值由系统产生,为被按下的键, Shift参数表示 Shift、 Ctrl和 Alt键的状态,X、 Y参数表示
34、光标的当前位置。 【知识模块】 键盘与鼠标事件过程 20 【正确答案】 A 【试 题解析】 X, Y用来表示鼠标光标当前在窗体上的 X、 Y轴坐标。 【知识模块】 键盘与鼠标事件过程 21 【正确答案】 C 【试题解析】 当鼠标在图片框 P1中移动时就会触发 P1的鼠标移动事件,即P1_MouseMove事件,故排除 B选项;鼠标在图片框 P1中移动时,立即在图片框中显示鼠标的位置坐标,说明是在图片框上输出数据,所以用 P1的 Print语句实现。故 C选项正确。 【知识模块】 键盘与鼠标事件过程 22 【正确答案】 C 【试题解析】 Mose Move事件中的 Button表示 鼠标所有按键
35、的状态。用 0、 1、 2三个位表示左、右、中键,当按下某个键时,相应位是 1,否则是 0。三位的二进制数也可转换为十进制数,作为 Button的值。如表:本题中当 Button值为 011或 111时,(Button And 3)=3,条件才成立,窗体上显示 “检查按键 ”。这说明只要同时按下鼠标的左右键时,在窗体上就显示 “检查按键 ”。故选 C。 【知识模块】 键盘与鼠标事件过程 23 【正确答案】 C 【试题解析】 鼠标移动时产生的事件是 MouseMove事件。 MouseDown事件过程的参数定 义如下: Sub Form_MouseMove(Button As integer,
36、Shift As Integer, x As Single, y As single) 其中 Button表示被按下的鼠标键,按下左键时值为 1,按下右键时值为 2,按下中间键时值为 4。 x, y参数表示鼠标光标当前位置的坐标。 题目要求按住左键时移动显示鼠标位置,因此在事件过程要判断是否按下了左键,按下了左键则在标签中显示鼠标位置,否则不显示。因此可用 If Button=1来判断是否按下了左键及是否显示鼠标位置。因此 应该选择 C选项。 【知识模块】 键盘与鼠标事件过程 24 【正确答案】 C 【试题解析】 可以在属性窗口中给 MousePointer属性设置属性值。故 C选项错误。 【知识模块】 键盘与鼠标事件过程 25 【正确答案】 A 【试题解析】 实现对象的自动拖放应设置 DragMode=1。 【知识模块】 键盘与鼠标事件过程 26 【正确答案】 A 【试题解析】 当鼠标拖动控件到目标对象上,不松开鼠标时,触发目标对象的DragOver事件;松开鼠标时,就会触发目标对象的 DragDrop事件。故选 A。 【知识模块】 键盘与鼠标事件过程
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1