国家二级VB机试(键盘与鼠标事件过程)模拟试卷5
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
国家二级VB机试(键盘与鼠标事件过程)模拟试卷5
(总分:52.00,做题时间:90分钟)
一、选择题(总题数:26,分数:52.00)
1.以下关于键盘事件的叙述中,错误的是
(分数:2.00)
A.按下键盘按键既能触发KeyPress事件,也能触发KeyDown事件
B.KeyDown、KeyUp事件过程中,大、小写字母被视作相同的字符
C.KeyDown、KeyUp事件能够识别Shift、Alt、Ctrl等键
D.KeyCode是KevPress事件的参数√
解析:解析:当用户按下并释放一个可打印的键盘字符时,KeyDown、KeyPress、KeyUp事件将依次发生。
KeyDown、KeyUp事件过程有两个参数,其中KeyCode参数是表示所按键的位置信息的代码,同一字符大、小写状态下的KeyCode参数值相同。
ShiR参数代表按键时Shift、Ctrl、Alt键的状态。
2.以下可以判断是否在文本框(名称为Text1)内按下了回车键的事件过程是
(分数:2.00)
A.Text1_Change
B.Text1_Click
C.Text1_KeyPress √
D.Text1_GotFocus
解析:解析:键盘事件过程,主要用于处理当按下或释放键盘上某个键时所执行的操作。
当按下键盘上某个键时,将触发当前拥有焦点的对象的KeyPress事件。
3.以下说法中正确的是
(分数:2.00)
A.当焦点在某个控件上时,按下一个字母键,就会执行该控件的KeyPress事件过程√
B.因为窗体不接受焦点,所以窗体不存在自己的KeyPress事件过程
C.若按下的键相同,KeyPress事件过程中的KeyAscii参数与KeyDown事件过程中的KeyCode参数的值也相同
D.在KeyPress事件过程中,KeyAscii参数可以省略
解析:解析:本题考查的考点是有关键盘事件的。
当控件具有焦点时,如果按下一个字母键,将会触发此控件的:KeyPress事件;窗体也有自己的KeyPress事件,由控件的KeyPreview属性决定是否触发;KeyAscii 参数是所按键的ASCII的代码,将每个字符的大、小写形式作为不同的键代码解释,不可省略;KeyCode 参数是表示所按键的位置信息的代码(将A和a作为同一个键返回,而从大键盘上输出的“1”和右侧小键盘上输入的“1”将被视作不同的字符)。
4.向文本框中输入字符时,下面能够被触发的事件是
(分数:2.00)
A.GotFocus
B.KeyPress √
C.Click
D.MouseDown
解析:解析:KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下键盘上的键时触发的事件,KeyPress(KeyAscii As Integer)事件中KeyAscii参数是所按键的Ascii代码。
5.关于KeyPress事件,以下叙述中正确的是
(分数:2.00)
A.在控件数组的控件上按键盘键,不能触发KeyPress事件
B.按下键盘上任一个键时,都能触发KeyPress事件
C.按字母键时,拥有焦点的控件的KeyPress事件会被触发√
D.窗体没有KeyPress事件
解析:解析:当按下键盘上某个键时,将触发当前拥有焦点的对象的KeyPress事件。
如果按下的是功能键如Alt、Shift等则不能触发此事件。
窗体也具有KeyPress事件,在控件数组的控件上按键盘键也能触发KeyPress事件。
6.下列事件的事件过程中,参数是输入字符ASCII码的是
(分数:2.00)
A.KeyDown事件
B.KeyUp事件
C.KeyPress事件√
D.Change事件
解析:解析:当按下键盘上某个键时,将触发当前拥有焦点的对象的KeyPress事件。
它的KeyAscii参数是所按键的ASCII码值,该参数传递一个字符,并且把字符的大、小写形式作为两种不同的字符。
KeyDown 和KeyUp事件的参数KeyCode是按下键盘键的键值。
7.文本框Text1的KeyDown事件过程如下:Private Sub Text1_KeyDown(KeyCode As Integer,Shift As Integer)…End Sub其中参数KeyCode的值表示的是发生此事件时
(分数:2.00)
A.是否按下了Alt键或Ctrl键
B.按下的是哪个数字键
C.所按的键盘键的键码√
D.按下的是哪个鼠标键
解析:解析:本题考查的考点是有关键盘事件KeyDown的。
KeyCode参数是表示所按键的位置信息的代码。
8.VB中有3个键盘事件:KeyPress、KeyDown、KeyUp,若光标在Text1文本框中,则每输入一个字母
(分数:2.00)
A.这3个事件都会触发√
B.只触发KeyPress事件
C.只触发KeyPress、 KeyUp事件
D.不触发其中任何一个事件
解析:解析:当控件具有焦点时,如果按下一个字母键,将会依次触发此控件的KeyDown、KeyUp和KeyPress 事件。
9.在窗体上画一个命令按钮和一个文本框(名称分别为Command1和Text),并把窗体的KevPreview属性设置为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 SubPrivate Sub Commandl_Click() Text1.Text=LCase(SaveAll)+SavAllEnd Sub程序运行后,直接用键盘输入:VB,再单击命令按钮,则文本框中显示的内容为
(分数:2.00)
A.vbVB √
B.不显示任何信息
C.VB
D.出错
解析:解析:本题考查的考点是有关键盘事件的。
KeyPreview属性用于设置是否在控件的键盘事件之前激活窗体的键盘事件。
KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下键盘上的键时触发的事件,KeyAscii参数是所按键的ASCII的代码,将每个字符的大、小写形式作为不同的键代码解释。
本题中输入“VB”的时候触发了窗体的KeyPress事件,将全局变量SaveAll设置为了“VB”,所以单击命令按钮后,文本框中的值为“vbVB”。
10.窗体上有一个Text1文本框,并编写了下面事件过程:Private SUb Text1_KeyPress(KeyAscii As Integer) KeyAscii=KeyAscii+3End SUb程序运行时,在文本框中输入字符“A”,则在文本框中实际显示的是
(分数:2.00)
A.A
B.B
C.C
D.D √
解析:解析:KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下键盘上的键时触发的事件,KeyAscii参数是所按键的Ascii的代码,将每个字符的大、小写形式作为不同的键代码解释。
本题中令参数KeyAscii自加3,则为该字母后面第三个字母。
11.对于文本框Text1,能够获得按键的ASCII码值的事件过程是
(分数:2.00)
A.Text1 KeyUp
B.Text1 KeyPress √
C.Text1 Click
D.Text1 Change
解析:解析:KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下键盘上的键时触发的事件,KeyAscii参数是所按键的Ascii的代码,将每个字符的大、小写形式作为不同的键代码解释。
12.将窗体的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)End Sub End Sub运行程序时,按下字母键a,则窗体上显示的是
(分数:2.00)
A.A A
B.A a √
C.a A
D.a a
解析:解析:KeyCode参数是表示所按键的位置信息的代码,同一字符大、小写状态下的KeyCode参数值相同,都是大写字符的ASCII码值;KeyAscii参数是所按键的ASCII码值,该参数传递一个字符,并且把字符的大、小写形式作为两种不同的字符。
13.在窗体上画1名为Command1的命令按钮和1名Text1的文本框,再编写如下程序:Dim ss As String Private Sub Commandl_Click()Private Sub Text1_KeyPress(KeyAscii_ Dim m As String,i As Integer As Integer) For i=Len(ss)To 1 Step-1 If Chr(KeyAscii)<>""Then m=m+Mid(ss,i,1)
ss=ss+Chr(KeyAscii) NextEnd Sub Text 1.Text=UCase(m) End Sub程序运行后,在文本框中输入“Number 100”,并单击命令按钮,则文本框中显示的是
(分数:2.00)
A.NUMBER 100
B.REBMUN
C.REBMUN 100
D.001 REBMUN √
解析:解析:KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下键盘上的键触发的,KeyPress(KeyAscii As Integer)事件中KeyAscii参数是所按键的ASCII代码,该参数不显示键盘的物理状态,而只是传递一个字符代码。
KeyPress将每个字符的大、小写形式作为不同的键代码解释,即作为两种不同的字符。
Chr()可返回ASCII码对应的字符。
本题程序运行后,在文本框中每输入一个字符,将执行Text1 KeyPress事件过程,变量ss的值也随即变化,当输入“Number100”后,变量ss="Numberl00"。
单击命令按钮后,执一行Commandl_Click事件过程,将字符串“Number100”中的字符逆序排列并以大写形式显示在文本框中,即“001 REBMIJN”。
14.窗体上有1个名称为Text1、内容为空的文本框。
编写如下事件过程:Private Sub Text1_KeyUp(KeyCode As Integer,Shift As Integer) Print Text1.Text;End Sub运行程序,并在文本框中输入“123 ”,则在窗体上的输出结果为
(分数:2.00)
A.123
B.112
C.12123
D.112123 √
解析:解析:当对象具有焦点时,释放键盘上某个按下的键时将触发该对象的KeyUp事件,所以每在文本框中按键一次就会触发一次该事件,第一次输出1,第二次输出12,第三次输出123。
15.设窗体上有2个文本框Text1和Text2,并有下面的事件过程:Dim nPrivate Sub
Text1_KeyPress(KeyAscii As Integer) If"A"<=Chr(KeyAscii)And Chr(KeyAscii)<="Z"Then n=n+1 End If If KeyAscii:1 3 Then Text2.Text=nEnd Sub程序运行时,在文本框Textl中输入“Visual Basic 6.0”并按回车键后,在文本框Text2中显不的是
(分数:2.00)
A.2 √
B.9
C.13
D.16
解析:解析:KeyPress(KeyAscii As Integer)事件是在对象具有焦点时,按下键盘上的键触发的,KeyPress(KeyAscii As Integer)事件中KeyAscii参数是所按键的ASCII代码,该参数不显示键盘的物理状态,而只是传递一个字符代码。
KeyPress将每个字符的大、小写形式作为不同的键代码解释,郾作为两种不同的字符。
在本题中n的值是文本框中大写字母的个数。
16.若看到程序中有以下事件过程,则可以肯定的是,当程序运行时Private Sub Click_MouseDown(Button As Integer,_Shift As Integer,X As Single,Y As Single) Print"VB Program"End Sub
(分数:2.00)
A.用鼠标左键单击名称为“Commandl”的命令按钮时,执行此过程
B.用鼠标左键单击名称为“MouseDown”的命令按钮时,执行此过程
C.用鼠标右键单击名称为“MouseDown”的控件时,执行此过程
D.用鼠标左键或右键单击名称为“Click”的控件时,执行此过程√
解析:解析:鼠标按下事件(MouseDown)适用于窗体和大多数控件,包括复选框、命令按钮、单选按钮、框架、文本框、目录框、文件框、图像框、图片框、标签、列表框等。
事件过程名格式为:控件名事件名,故本题Private Sub Click MouseDown中的Click应为控件名。
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关于上述过程,以下叙述中正确的是
(分数:2.00)
A.按下鼠标左键时,在窗体上显示“检查按键”
B.按下鼠标右键时,在窗体上显示“检查按键”
C.同时按下鼠标左、右键时,在窗体上显示“检查按键”√
D.不论做何种操作,窗体上都不会显示
解析:解析:鼠标事件的Button参数用以表示被按下的鼠标键,可以取3个值,按下左键取值为1,按下右键取值为2,按下中键取值为4,若同时按下多个键,则取值为多个键值之和。
18.要求当鼠标在图片框P1中移动时,立即在图片框中显示鼠标的位置坐标。
下面能正确实现上述功能的事件过程是
(分数:2.00)
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,Shift As Integer,X As Single,Y As Single) Picture.Print X,Y End Sub
C.Private Sub P1_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
解析:解析:在图片框中移动鼠标触发的事件是P1。
MouseMove事件,在事件中控制在图片框中输出坐标。
19.窗体的MouseUp事件过程如下:Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)……End Sub关于以上定义,以下叙述中错误的是
(分数:2.00)
A.根据Shift参数,能够确定使用转换键的情况
B.根据X、Y参数可以确定触发此事件时鼠标的位置
C.BuRon参数的值是在MouseUp事件发生时,系统自动产生的
D.MouseUp是鼠标向上移动时触发的事件√
解析:解析:鼠标状态事件又分为按下事件(MouseDown)、移动事件(MouseMove)和弹起事件(MouseUp),这三个事件具有相间的参数。
Button参数的值是在MouseUp事件发生时,系统自动产生的,代表按下的是那个鼠标键;Shift参数确定使用转换键的情况;X、Y参数可以确定触发此事件时鼠标的位置。
20.命令按钮Commandl的MouseUp事件过程结构如下:Private Sub Commandl_MouseUp(Button As Integer,Shift As Intege,X As Single,Y As Single)……End SUb 则以下叙述中错误的是
(分数:2.00)
A.X、Y参数表示的是Commandl左上角在窗体中的位置√
B.Button参数用于确定按下的鼠标键
C.Shift参数用于确定是否按下了Alt、Ctrl或Shift键
D.MouseUp表示抬起鼠标按键时触发的事件
解析:解析:鼠标状态事件又分为按下事件(MouseDown)、移动事件(MouseMove)和弹起事件(MouseUp),这三个事件具有相同的参数。
Button参数的值是在MouseUp事件发生时,系统自动产生的,代表按下的是那个鼠标键;Shift参数确定使用转换键的情况;X、Y参数可以确定触发此事件时鼠标的位置。
21.有下面事件过程:Private Sub Form_MouseMove(Button As Intege,Shift As Integer,X As Single,Y As Single) If Button=2 Then Form1.PSet(X,Y)'PSet方法可以在X,Y处画一个点 End IfEnd Sub 程序运行后,产生的效果是
(分数:2.00)
A.在窗体上每单击鼠标左键一次,就在鼠标位置处画一个点
B.按着鼠标左键,移动鼠标,可在窗体上画出鼠标的运动轨迹
C.按着鼠标右键,移动鼠标,可在窗体上画出鼠标的运动轨迹√
D.不按任何鼠标键,移动鼠标,可在窗体上画出鼠标的运动轨迹
解析:解析:鼠标事件分点击事件和状态事件:点击事件有单击(Click)和双击(DblClick),不区分左右键;状态事件有按下(MouseDown)、移动(MouseMove)和弹起(MouseUp),能够区分出鼠标的左、右和中间键。
如果鼠标按钮是当其指针在窗体或控件之上时被按下并释放,则该对象将“捕获”鼠标并接收全部与该对象相关的鼠标事件。
在本题代码中当鼠标移动时触发MouseMove事件,此时判断按下的鼠标键为右键(Button=2)时,则在窗体鼠标指针经过的位置依次画点,从而形成一条线。
22.窗体上已有1个名称为Picture1的图片框,要求实现下面2个功能之一:(1)在窗体上移动鼠标时,立即将Picture1显示在鼠标位置 (2)在窗体上单击鼠标时,立即将Picture1显示在鼠标位置下面不能实现上述任何功能的事件过程是
(分数:2.00)
A.Private Sub Form_MouseDown(BuRon As Integer,Shift As Integer,X As Single,Y As Single) Picture1.Move X,Y End Sub
B.Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single) Picture1.Move X,Y End Sub
C.Private Sub Form.MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single) Picture1.CurrentX=X:Picture1.CurrentY=Y End SUb √
D.Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single) Picture1.Move X,Y End Sub
解析:解析:图片框的CurrentX和CurrentY属性会在程序运行时,返回或设置下一次打印或绘图位置的水平坐标和垂直坐标。
Move方法用于移动窗体或控件,其语法:对象名.Move Left[,Top][,Width][,Height]。
其中,Left和Top参数分别表示对象左侧的水平坐标和上侧的垂直坐标,Width和Height参数分别表示对象新的宽度和高度。
23.编写如下程序:Private Sub Form_Click() Print"Welcome!"End SubPrivate Sub
Form_MouseDown(Button As Integer,Shift As Integer,X As Single,Y As Single) Print"欢迎!" End Sub Private Sub Form_MouseUp(Button As Imeger,Shift As Integer,X As Single,Y As Single) Print"
热烈欢迎!" End Sub程序运行后,单击窗体,输出结果为
(分数:2.00)
A.欢迎!热烈欢迎!Welcome! √
B.欢迎!Welcome!热烈欢迎!
C.Welcome!欢迎!热烈欢迎!
D.Welcome!热烈欢迎!欢迎!
解析:解析:鼠标事件分点击事件和状态事件:其中,点击事件有单击事件(Click)和双击事件(DblClick),这两个事件不区分左键和右键;状态事件又分为按下事件(MouseDown)、移动事件(MouseMove)和弹起事件(MouseUp),这3个事件能够区分出鼠标的左键、右键和中间键。
当在控件和窗体上单击鼠标左键的时候,首先触发按下事件,然后触发单击事件,最后触发弹起事件。
24.下列操作说明中,错误的是
(分数:2.00)
A.在具有焦点的对象上进行一次按下字母键操作,会引发KeyPress事件
B.可以通过MousePointer属性设置鼠标光标的形状
C.不可以在属性窗口设置MousePointer属性√
D.可以在程序代码中设置MousePointer属性
解析:解析:在具有焦点的对象上进行一次按下字母键操作,会引发KeyPress事件。
MousePointer属性用于设置或返回鼠标经过某对象时光标的形状类型,其值可以是0~15之间的任一整数,不同的值代表不同的形状,可以在程序设计时通过属性窗口设置,也可以在程序运行阶段通过代码设置。
25.窗体上有1个名称为Text1的文本框,1个名称为Label1的标签。
程序运行后,如果在文本框中输入信息,则立即在标签中显示相同的内容。
以下可以实现上述操作的事件过程为
(分数:2.00)
A.Private SUb Label1_Click() Label1.Caption=Text1.Text End Sub
B.Private Sub Label1 Change() Label1.Caption=Text1.Text End Sub
C.Private Sub Text1_Click() Label1.Caption=Text1:Text End Sub
D.Private Sub Text1_Change() Label1.Caption=Text1.Text End Sub √
解析:解析:当文本框中文本内容改变时将触发其Change事件,要在文本框中输入信息的同时立即在标签中显示相同的内容,需在文本框的Change事件过程中执行相关语句。
26.鼠标拖放控件要触发两个事件,这两个事件是
(分数:2.00)
A.DragOver事件和DragDrop事件√
B.Drag事件和DragDrop事件
C.MouseDown事件和KeyDown事件
D.MouseUp事件和KeyUp事件
解析:解析:与鼠标拖放有关的事件有DragDrop和DragOVer两个,其中DragOver在拖动控件到一个目标控件上释放鼠标键时触发,DragDrop在拖放过程中触发。