1、国家二级 VB机试(选择题)模拟试卷 166及答案与解析 一、选择题 1 以下关于过程及过程参数的描述中,错误的是 ( A)调用过程时可以用控件名称作为实际参数 ( B)用数组作为过程的参数时,使用的是 “传地址 ”方式 ( C)只有函数过程能够将过程中处理的信息传回到调用的程序中 ( D)窗体 (Form)可以作为过程的参数 2 下面是求最大公约数的函数的首部 Function gcd(ByVal x As Integer,ByVal y As Integer) As Integer若要输出 8、 12、 16这 3个数的最大公约数,下面正确的语句是 ( A) Print ge0(8, 12
2、),gcd(12, 16), gcd(16, 8) ( B) Print gcd(8, 12, 16) ( C) Prim ge0(8), ged(12), gcd(16) ( D) Print gcd(8, gcd(12, 16) 3 为了通过传值方 -式 v来传送过程参数,在函数声明部分应使用的关键字为 ( A) Value ( B) ByVal ( C) ByRef ( D) Reference 4 以下过程定义中正确的过程首行是 ( A) Private Sub Proc(Optional a as Integer,b as Integer) ( B) Private Sub Proc
3、(a as Integer)as Ifiteger ( C) Private Sub Proc(a()As Integer) ( D) Private Sub Proc(ByVal a()As Integer) 5 某人编写了下面的程序 Private Sub Commandl Click() Dim aAs Integer,bAs Integer a=InputBox(“请输入整数 ”): b=InputBox(“请输入整数 ”) pro a: pro b Call pro(a+b)End Sub Private Sub pro(n As Integer) While(n 0) Print
4、n Mod 10; n=n 10 Wend Print End Sub 此程序功能是:输入 2个正整数,反序输出这 2个数的每一位数字, ( A)把过程 pro的形式参数 n As Integer改为 ByVal n As Integerb把 Call pro(a+b) ( B)改为 pro a+b ( C)把 n=n 10改为 n=n 10 ( D)在 pro b语句之后增加语句 c =a+b,再把 Call pro(a+b)改为 pro c 6 有下面程序代码: Private Sub Commandl_Click() Dim x As Integer,s As Integer x=1 F
5、or k=1 To 3 x=x+1: proc x: s=s+x Next k Print s End Sub Private Sub proc(ByVal a As Integer) Static xAsInteger x=x+1: a=a+x End Sub 程序运行后,单击命令按钮 Commandl,输出结果是 ( A) 6 ( B) 9 ( C) 15 ( D) 19 7 编写如下程序: Private Sub Commandl1-Click()Dim x As Integer x=10 Print funl(x, 12)+x End Sub Private Function funl
6、(mAs Integer,nAs Integer) As Integer Ifn10 Then m=n funl=m+n End Function 程序运行后,单击命令按钮 Commandl,输出结桌为 ( A) 30 ( B) 32 ( C) 34 ( D) 36 8 在窗体上画一个名称为 Commandl的命令按钮,再画两个名称分别为 Label1、Label2的标签,然后编写如下程序代码: Private X As Integer Private Sub Command1Click() x=5: y=3 Call proc(x, y) Labell Caption=x: Label2 C
7、aption=y End Sub Private Sub proc(a As Integer,ByVal b As Integer) x=a*a: y=b+b End Sub 程序运行后,单击 ( A) 25和 3 ( B) 5和 3 ( C) 25和 6 ( D) 5和 6 9 设有如下通用过程: Public Function f(x As Integer) Dim y As Integer x=20: y=2: f=x*y End Function 在窗体上画一个命令按钮,其名称为 Commandl,然后编写如下事件过程: Private Sub Commandl Click() Sta
8、tic x As Integer x=10: y=5: y=fix)Print x; y End Sub 程序运行后,如果单击命令按钮,则在窗体上显示的内容是 ( A) 10 5 ( B) 20 40 ( C) 20 5 ( D) 10 40 10 命任何 _个滚动条滚动框件过程如下: Private Sub Command l_Click()Private Function f(y As Integer) x=10 Print fix)f=y*y End SubEnd Function 运行上述程序,如下叙述中正 确的是: ( A)程序运行出错, x变量的类型与函数参数的类型不符 ( B)在
9、窗体上显示 100 ( C)函数定义错,函数名 f不能又作为变量名 ( D)在窗体上显示 10 11 编写如下程序: Private Sub Command 1 Click() Dim x As Integer,y As Integer x=InputBox(“输入第一个数 ”): y=InputBox(“输入第二个数 ”) Call f(x, y) Print x, y End Sub Sub f(a As Integer,ByVal b As Integer) a=a*2: x=a+b: b=b+100 End Sub 程序运行后,单击命令按钮 Commandl,并输入数值 10和 15,
10、则输出结果为 ( A) 10 115 ( B) 20 1 1 5 ( C) 35 1 5 ( D) 20 1 5 12 现有程序如下: Option Base 1 Private Sub Form_Click() Dim x(5, 6)As Integer,y(5)As Integer Far i=1 Tn 5 Forj=1 To 6 x(i, j)=Int(Rnd*9+1) Nextj Next i Call f(5, 6, x, y) For i=1 To 5 Printy(i); Next i End Sub Sub f(m As Integer,n As Integer,a()As I
11、nteger,b0 As Integer ( A)调用过程语句有错,参数不匹配 ( B)程序有错,数组下标越界 ( C) Y数组中保存的是 x数组每行数据之和 ( D) x数组中数据的取值范围是 1-10 13 窗体上有一个名称为 Commandl的命令按钮,一个名称为 Text1的文本框。编写如下程序 : Private Sub Command1 Click() DimxAs Integer x=Val(InputBox(“输入数据 ”): Textl=Str(x+fun(x)+fun(x) End Sub Private Function fun(ByRef n As Integer) I
12、fn Mod 3=0 Then n=n+n Else n=n*n End If fun=n End Function 对于上述程 ( A)语句 fun=n有错,因为 n是整型, fun没有定义类型 ( B)运行程序,输入值为 5时,文本框中显示 655 ( C)运行程序,输入值为 6时,文本框中显示 42 ( D) ByRef表示参数按址传递 14 窗体上有一个名称为 Commandl的命令按钮,并有如下程序代码: Private Sub Command 1Click() Static a a=1: b=2: c=3 Call f(a, b, c)Print a; b; C End Sub S
13、ub f(ByVal x, ByRefy,z) x=x+1: y=y+1: z=z+1 End Sub 运行程序,单击命令按钮,窗体上显示的是 ( A) 1 3 3 ( B) 1 3 4 ( C) 2 3 3 ( D) 2 3 4 15 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程如下: Pfivate Sub Commandl Click() Dim x As Integer,y As Integer Static z As Integer x=3: y=5: z=y Call f(x, y, z) Print x; y; z End Sub Private Sub f(B
14、yVal a As Integer,ByRefb As Integer,c As Integer) a=a+a: b=b+b: c=c+c End Sub 运行程 ( A) 3 5 5 ( B) 3 5 10 ( C) 3 10 5 ( D) 3 10 10 16 窗体上有一个名称为 Commandl的命令按钮,其单击事件过程及相关的代码如下: Private Sub Commandl Click() Dim xAs Integer,y As Integer x=Val(InputBox(“输入整数 ”) y=Val(InputBox(“输入整数 ”)Print Str(fun(x, y)+x
15、+y) End Sub Private Function ftm(ByRef m As Integer,ByVal n As Integer) m=m*m: n=n+n: fun ( A) 27 ( B) 28 ( C) 33 ( D) 38 17 设有如下程序: Private Sub Inv(ByVal xStr As String, yStr As String) Dim tStr As String Dim L As Integer L=Len(xStr) Do While L=1 tStr=tStr+Mid(xStr,L, 1): L=L一 1 Loop yStr=tStr End
16、Sub Private Sub Form Click() Dim S1 As String, S2 As String S1=”abed&Inv S1, S2 P ( A) abedef ( B) afbecd ( C) fedcba ( D) defabc 18 设有如下程序: Pfivate SUb sV(ByVal rnAs Integer,nAs Integer) nq=m*2: n=n一 5: Print m: n End Sub Private Sub Form Click() Dim x As Integer,yAs Integer x=10: y=15: sV x, y Pri
17、nt x; y End Sub 运行程序,单击窗体,输出结果为 ( A) 20 10 10 10 ( B) 10 15 20 10 ( C) 20 15 10 15 ( D) 20 10 20 10 19 由高中数学可知,对于连续函数 f(x),若 f(x1)与 f(ra)值的符号相反,则在 x1和x2之间必存在 x0,使得 f(x0)=0(该点称为 “零点 ”)。设有 VB函数: PriVate Function f(xAs Singlel As Single可以返回 f(x)的值 (函数体没有给出 )。下面程序的功能是从键盘输入 2个实数 x1、 x2,判断在 x1、 x2之间是否存在零点
18、。 Pdvate Sub Commandl_Click() Dim x1 As Single, x2 As Single xl: =InputSox(“请 ( A) f(x1)0 Or f(x2)0 20 编写如下程序: Private Sub Command!一 Click() Dim xAs Integer,yAs Integer x=10: y=20 Call funl(x, y) Print x; y End Sub Privam Function fun!(ByVal m As Integer,nAs Integer)As Integer m=m*m: n=n+n End Funct
19、ion 程序运行后,单击命令按钮 Commandl,输出结果为 ( A) 10 25 ( B) 10 40 ( C) 100 25 ( D) 100 40 21 设有以下过程: Pfivme Sub proc(xAs Integer,Optional yAs Integer) Print x, y End Sub 针对此过程,下面正确的过程调用语句是 ( A) Call proc(a!, 23) ( B) Call proc x, 12 ( C) proc b ( D) x=Droc(12) 22 以下关于过程及过程参数的描述中,错误的是 ( A)过程的参数可以是控件名称 ( B)调用过程时使
20、用的实参的个数应与过程形参的个数相同 (假定不含可变参数 ) ( C)只有函数过程能够将过程中处理的信息返回到调用程序中 ( D)窗体可以作为过程的参数 23 窗体上有一个用菜单编辑器设计的菜单。运行程序,并在窗体上单击鼠标右键,则弹出一个快捷菜单,如图所示。以下叙述中错误的是( A)在设计 “粘贴 ”菜单项时 ,在菜单编辑器窗口中设置了 “有效 ”属性 (有 “”) ( B)菜单中的横线是在该菜单项的标题输入框中输入了一个 “一 ”(减号 )字符 ( C)在设计 “选中 ”菜单项时,在菜单编辑器窗口中设置了 “复选 ”属性 (有 “”) ( D)在设计该弹出菜单的主 菜单项时,在菜单编辑器窗
21、口中去掉了 “可见 ”前面的“” 24 以下打开 Visual Basic菜单编辑器的操作中,错误的是 ( A)执行 “编辑 ”菜单中的 “菜单编辑器 ”命令 ( B)执行 “工具 ”菜单中的 “菜单编辑器 ”命令 ( C)单击工具栏中的 “菜单编辑器 ”按钮 ( D)右击窗体,在弹出的快捷菜单中选择 “菜单编辑器 ”命令 25 如果一个菜单项的 Enabled属性被设置为 False,则程序运行时,该菜单项 ( A)不显示 ( B)显示但无效 ( C)有效可用 ( D)不显示但有效可用 26 以下说 法中正确的是 ( A)任何时候都可以用 Ctrl+E键打开菜单编辑器 ( B)只有当某个窗体
22、为当前活动窗体时,才能打开菜单编辑器 ( C)只有当代码窗口为当前活动窗口时,才能打开菜单编辑器 ( D)任何时候都可以用标准工具栏的 “菜单编辑器 ”按钮打开菜单编辑器 27 如果一个顶级菜单项的访问键为 D,则以下等同于单击该菜单项的操作为 ( A)按 Ctrl+D键 ( B)按 Alt+D键 ( C)按 D键 ( D)按 Shift+D键 28 下列关于菜单项的描述中,错误的是 ( A)通过内缩符号 () 设置菜单项的层 次 ( B)通过 Enabled属性设置菜单项的有效性 ( C)菜单项的索引号可以不连续 ( D)菜单项的索引号必须从 1开始 29 以下关于菜单的叙述中,错误的是 (
23、 A)当窗体为活动窗体时,用 CtrlE键可以打开菜单编辑器 ( B)把菜单项的 Enabled属性设置为 False,则可删除该菜单项 ( C)弹出式菜单在菜单编辑器中设计 ( D)程序运行时,利用控件数组可以实现菜单项的增加或减少 30 下列关于菜单项的描述中,错误的是 ( A)菜单项不能响应 Click事件以外的其他事件 ( B)每个菜单项都可以被看作一个控件,具有相应的属性和事件 ( C)菜单项的索引号可以不连续 ( D)通过 Visible属性设置菜单项的有效性 31 在利用菜单编辑器设计菜单时,为了把组合键 “Alt+X”设置为 “退出 (X)”菜单项的访问键可以将该菜单项的标题设
24、置为 ( A)退出 (X&) ( B)退出 ( X) ( C)退出 (X#) ( D)退出 (#X) 32 为了显示弹出式菜单,要使用 ( A)窗体的 PopupMenu方法 ( B)窗体的 OpenMenu方法 ( C)菜单的 PopupMenu方法 ( D)菜单的 OpenMenu方法 国家二级 VB机试(选择题)模拟试卷 166答案与解析 一、选择题 1 【正确答案】 C 【试题解析】 本题考查的考点是有关过程参数的。在 VB中不仅可以使用窗体作为通用过程的参数,还可以使用控件作为通用过程参数。控件参数用法同窗体参数,不过形参类型一般为 Control。在使用数组作为参数时,使用的是传地
25、址的方式。要想把过程中的信息传回到调用过程中,不但使用函数可以完成,也可以使用传地址调用的参数传递来完成。 【知识模块】 过程 2 【正确答案】 D 【试题解析】 函数过程在传递参数时,形参表与实参表中对应变量的名字不必相同,但参数的个数、对应位置和对应类型必须相同。本题中的 gcd函数有两个参数,任何对于 gcd的调用都必须传递实参为两个整型值;选项 A中得到 3个结果,显然不是我们所需要的;选项 D中的函数嵌套调用能够求出 3个数的最大公约数。 【知识模块】 过程 3 【正确答案】 B 【试题解析】 传值就是通过值传送实际参数,即传送实参的值而不是传送它的地址。在这种情况下,通用过程不访问
26、变量 (实参 )的原始地址,因此不会改变原来变量的值,所有的变 化都是在变量的副本上进行的。传值方式通过关键字 By Val来实现。也就是说,在定义通用过程时,如果形参前面有 ByVal,则该参数通过传值方式传送。在传值方式下,对形参的改变不会影响到实参。 【知识模块】 过程 4 【正确答案】 C 【试题解析】 Visual Basic允许用数组作为参数。但用数组作为过程的参数时,应在数组名的后面加上一对括号,以免与普通变量相混淆;而且只能使用地址传递,不能使用值传递。为了定义可选参特,需要在参数表中使用 Optional关键字来指定可选参数,但是可选参数必须 是变体型,而且放在参数表的最后。
27、 Sub子过程是不能有返回值类型的。 【知识模块】 过程 5 【正确答案】 A 【试题解析】 本题考查的考点是有关过程调用的。本题题干中的程序之所以不能显示第三行的值,是由于在调用 pro函数时使用的是默认的传地址调用,这时在pro过程中的对形参的更改都会影响到实参。仔细观察 pro过程,发现每次循环都要对形参 n整除 10一直到 n为 0为止,所以每次 pro过程调用结束后都会把对应实参改为 0。修改参数传递方式为传值调用即可使程序正确运行。 【知识模块】 过程 6 【正确答案】 B 【试题解析】 本题中首先要区分在命令按钮的单击事件中定义的 x是局部变量,仅能在过程内部起作用;在子过程 p
28、roc中定义的静态变量 x也是局部变量,也只能在本过程中起作用。在 VB的过程调用时,参数有两种传递方式:传址传递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用;若用ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。本题中 proc过程的参数 a用的是值传递,因此形参的改变不会影响到实参,所以在命令按钮的单击事件中 循环累加的是 2+3+4=9。 【知识模块】 过程 7 【正确答案】 D 【试题解析】 本体是一个简单的函数调用,调用 funl函数时将 x的值作为实参传送给 funl函数,由于第二个参数 12满足 n10
29、,会将形参 m的值也改变为 12,因返回的函数值为 24;由于函数 funl。的各个参数为地址传递,因此对于形参 m的值会影响实参 x的值,即 x的值也变为 12。 【知识模块】 过程 8 【正确答案】 A 【试题解析】 本题考查的考点是有关参数传递的。在 VB的过程调用时,参数有两种传递方式:传址传 递和传值传递。如果在过程声明时形参用 ByVal声明,说明此参数为传值调用;若用 ByRef声明,说明此参数为传址调用;没有说明传递类型,则默认为传址传递。即形参的结果会传递给实参。由于本题中的实参 Y采用传值传递,实参 x采用传址传递。而且 x是全局变量,所以在被调过程中改变了 x的值而没有改
30、变 Y的值。 【知识模块】 过程 9 【正确答案】 B 【试题解析】 本题中函数 f中的形参 x和按钮的单击事件中的静态变量 x是不同的变量,相互之间互不影响。函数 f的参数 x使用的是地址传递的形式,即形参的变化会影响到 实参;在命令按钮的单击事件中调用函数 f,会使得参数 x的值变成 20,函数返回值为 40。 【知识模块】 过程 10 【正确答案】 A 【试题解析】 在调用子过程或者函数过程时,要求实参与形参必须是匹配的,即个数相同、类型相同、顺序一致。本题中命令按钮的 Click事件中隐式声明了变量x,所以 x是变体型;在调用函数 f的时候将变体型的 x作为实参传送,但函数 f中的形参
31、 y是整型韵,故此产生类型不匹配的情况。 【知识模块】 过程 11 【正确答案】 D 【试题解析】 在 Visual Basic中调用过程时,参数有两种传递形式;按值传递(Byval)和按址传递 (Byrref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中 f的参数 a是按地址传递的, b是按值传递的,因此在 f中对 a的改变会影响实参 x,对 b的操作不会影响实参 y。 【知识模块】 过程 12 【正确答案】 C 【试题解析】 本题中子过程 f的四个形参分别为整型、整型、整型数组和整型数组,在窗体的单击事件中调
32、用过程 f,四个实参和四个形参可以匹配,调用 语句没有错误;在二重循环中为二维数组的每个元素赋值,数组下界从 1开始,因此不会越界;在二重循环中为数组 x的元素赋值为 09之间的值;在过程 f中用一个二重循环以此计算 x数组每行数据之和放在 y数组中。 【知识模块】 过程 13 【正确答案】 A 【试题解析】 本题中的函数 fun的功能是判断参数是否能被 3整除,若可以整除则将 n翻倍,否则将 n变为 n的平方返回。在函数头部没有声明函数的返回值类型,默认为变体型,可以接受任何数据类型的赋值: ByRef表示参数按址传递,对形参的改变将会影响实参:当输入 5的 时候输出 5+25+625=65
33、5;当输入 6的时候输出 6+12+24=42。 【知识模块】 过程 14 【正确答案】 B 【试题解析】 在 Visual Basic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递 (Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中 f的参数 x是按值传递的, y和 z是按地址传递的,因此在 f中对 x的改变不会影响謇参 a,对 y和 z的操作会影响实参 b和 c。 【知识模 块】 过程 15 【正确答案】 D 【试题解析】 在 Visual Basic中调用过程时,参数有两种传递形
34、式:按值传递(Byval)和按址传递 (Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中 f的参数 a是按值传递的, b和 c是按地址传递的,因此在 f中对 a的改变不会影响实参 x,对 b和 c的操作会影响实参 x和 y。 【知识模块】 过程 16 【正确答案】 C 【试题解析】 在 Visual Basic中调 用过程时,参数有两种传递形式:按值传递(Byval)和按址传递 (Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量
35、的值。本题中 fun的参数 m是按地址传递的, n是按值传递的,因此在 f中对 m的改变会影响实参 x,对 n的操作不会影响实参 y,即输出的是 Str(19+9+5)=“33”。 【知识模块】 过程 17 【正确答案】 C 【试题解析】 在 Visual Basic中调用过程时,参数有两种传递形式:按值传递(Byval)和 按址传递 (Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中 Inv的参数 xStr是按值传递的, yStr是按地址传递的,因此在 Inv中对 xStr的改变不会影响实参 S1对 y
36、Str的操作会影响实参 s2。过程 Inv的作用是在每次循环中取出 S1字符串靠后面的值连接到 tStr中,然后将 tStr赋值给 yStr从而通过地址传递带回给 S2,即字符串的逆序。 【知识模块】 过程 18 【正确答案】 A 【试题解析】 在 Visual; Basic中调用过程时,参数有两种传递形式:按值传递(ByVal)和按址传递 (Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中 sV的参数 m是按值传递的, n是按地址传递的,因此在 sV中对 m的改变不会影响实参 x,对 n的操作会影响实参
37、 y。 【知识模块】 过程 19 【正确答案】 C 【试题解析】 本题实际是要求判断两个函数值是否符号相反,由中学数学的知识可知,两数相反的标志是两数相乘结果小于 0。 【知识模块】 过程 20 【正确答案】 B 【试题解析】 在 Visual Basic中调用过程时,参数有两种传递形式:按值传递(Byval)和按址传递 (Byref),默认为按址传递。其中,当参数按址传递时,如果在引用该参数的过程中改变了形参的值,同时也就改变了传递参数时实参变量的值。本题中 funl,的参数 m是按值传递的, n是按地址传递的,因此在 funl中对m的改变不会影响实参 x,对 n的操作会影响实参 y。 【知
38、识模块】 过程 21 【正确答案】 C 【试题解析】 Optional声明的参数是可选参数,在调用的时候可以省略对应的实参,但是可选参数必须放在形参列表的最后声明;在过程内可以使用 IsMissing函数来判断是否实际调用的时候省略了对应的实参。子过程可以独立使用,也可以使用 Call关键字来进行调用,但此时参数需要加括号。 【知识模块】 过程 22 【正确答案】 C 【试题解析】 本题考查的考点是有关过程参数的。过程的参数可以为任何控件,包括窗体,在传递参数时,形参表与实参表中对应变量的名字不必相同,但参数的个数、对应位置和对应类型必须相同。除了函数过程可以把信 息返回到调用程序中,一般过程
39、也可以通过地址传递的方法把信息返回到调用程序中。 【知识模块】 过程 23 【正确答案】 A 【试题解析】 本题考奄的考点是菜单。菜单项的 “有效 ”属性是控制菜单项的有效性的。只要把一个菜单项的 “有效 ”属性设置为 False,就可以使其失效,运行后该菜单项变为灰色;要在菜单项中插入分隔线应该在标题框中输入 “一 ,菜单项标志,可以通过菜单设计窗口中的 “复选 ”属性设置,当该属性为 True时,相应的菜单项前有 “”标记;弹出菜单由于初始运行时应该不可见,故应去掉 “可见 ”前面 的“”标记。 【知识模块】 菜单和对话框 24 【正确答案】 A 【试题解析】 Visual Basic中的
40、菜单通过菜单编辑器建立。可以通过 4种方式进入菜单编辑器:执行 “工具 ”菜单中的 “菜单编辑器 ”命令;使用 Ctrl+E组合键:单击工具栏中的 “菜单编辑器 ”按钮;在要建立菜单的窗体上单击右键,将弹出一个菜单,然后单击 “菜单编辑器 ”命令。 【知识模块】 菜单和对话框 25 【正确答案】 B 【试题解析】 菜单项也是对象,也可以设置属性,如果 Enabled属性被设置为False, 则程序运行时,该菜单项显示但无效 (呈现灰色 )。 【知识模块】 菜单和对话框 26 【正确答案】 B 【试题解析】 打开菜单编辑器有 4种方法: 选择菜单 “工具 ”菜单框中的 “菜单编辑器 ”命令; 单
41、击工具栏上的 “菜单编辑器 ”按键; 使用快捷键 ; 右击窗体,从弹出的快捷菜单中选择 “菜单编辑器 ”命令。注意:只有当某个窗体成为活动窗体时,才能使用以上方法打开其菜单编辑器。 【知识模块】 菜单和对话框 27 【正确答案】 B 【试题解析】 访问键就是菜单项中加了下划线的字母 ,只要同时按下 键和加了下划线的字母键,就可以选择相应的菜单项。设置访问键时,必须将菜单标题中要设为访问键的字母前面加上 “ ”字符。 【知识模块】 菜单和对话框 28 【正确答案】 D 【试题解析】 在菜单编辑器中,可以通过内缩符号 () 设置菜单项的层次;通过Enabled属性设置菜单项的有效性, Visibl
42、e属性设置菜单项的可见性;菜单的索引号必须是从 0开始的连续值。 【知识模块】 菜单和对话框 29 【正确答案】 B 【试题解析】 本题考查的考点是有关菜单的。 Visual Basic中的菜单通过菜单编辑器建立,可以通过 4种方式进入菜单编辑器:执行 “工具 ”菜单中的 “菜单编辑器 ”命令、使用 Ctrl+E组合键、单击工县栏中的 “菜单编辑器 ”按钮、在要建立菜单的窗体上单击鼠标右键,将弹出一个菜单,然后单击 “菜单编辑器 ”命令;不管是顶层菜单还是弹出菜单都在菜单编辑器中设计;程序运行时可以利用菜单项的动态数组实现菜单项的增加或减少;如果把菜单项的 En8ble属性置为 False,则
43、该菜单项不可用,但是并没有菜单中删除。 【知识模块】 菜单和对话框 30 【正确答案】 D 【试题解析】 菜单项是 VB冲的一种对象,每个菜单项都可以被看作一个控件,具有相应的属性和事件,而且只能响应 click事件:菜单项的索引号可以不是连续的,通过 Enabled属性设置菜单项的有效性,通过 Visible属性设置菜单项的可见性。 【知识模块】 菜单和对话框 31 【正确答案】 B 【试题解析】 访问键就是菜单项中加了下划线的字母,只要同时按下 键和加了下划线的字母键,就可以选择相应的菜单项。快捷键和访问键都是在设计菜单时直接指定。设置访问键时,必须在要设置为访问键的字母 前面加上一个 “&”。 【知识模块】 菜单和对话框 32 【正确答案】 A 【试题解析】 在 MDIFonn或 Form对象上的当前鼠标位置或指定的坐标位置显示弹出式菜单,要使用对象 PopupMe眦菜单名来弹出。 【知识模块】 菜单和对话框
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1