您的当前位置:首页正文

vb常用控件习题(含答案)

2023-08-02 来源:我们爱旅游
1.下列控件中没有Caption属性的是 ________。

A)框架 B)列表框 C)复选框 D)单选按钮 2.复选框的Value 属性为 1 时,表示 ________。 A)复选框未被选中 B)复选框被选中 C)复选框内有灰色的勾 D)复选框操作有误 3.用来设置斜体字的属性是 ________。

A)FontItalic B)FontBold C)FontName D)FontSize

4.将数据项“China”添加到列表框List1中成为第二项应使用 ________语句。 A) “China”,1 B) “ China ”, 2 C) 1,“China” D) 2,“ China ”

5.引用列表框List1最后一个数据项,应使用 ________语句。 A)) B)(ListCount) C)) D)(ListCount-1)

6.假如列表框List1有四个数据项,那么把数据项“China”添加到列表框的最后,应使用 ________语句。 A) 3,“ China ” B) “ China ”,

C) “ China ”, 3 D) “China”,

7.执行了下面的程序后,列表框中的数据项有________。 Private Sub Form_Click() For i = 1 to 6 i Next i

For i = 1 to 3 i Next i End Sub

A)1,5,6 B)2,4, 6 C )4,5,6 D)1,3,5 8.如果列表框List1中没有选定的项目,则执行 语句的结果是 ________。

A)移去第一项 B)移去最后一项 C)移去最后加入列表中的一项 D)以上都不对

9.如果列表框List1中只有一个项目被用户选定,则执行 )语句的结果是________。

A)在Debug窗口输出被选定的项目的索引值 B)在Debug窗口输出True

C)在窗体上输出被选定的项目的索引值 D)在窗体上输出True

10.在窗体上画一个名称为List1的列表框,一个名称为Label1的标签,列表框中显示若干城市的名称。但单击列表框中的某个城市名时,该城市名从列表框中消失,并在标签中显示出来。下列能正确实现上述操作的程序是______。 A)Private Sub List1_Click()

= End Sub

B)Private Sub List1_Click() = End Sub

C)Private Sub List1_Click() = End Sub

D)Private Sub List1_Click() = End Sub

11.下列说法中正确的是 ________。

A)通过适当的设置,可以在程序运行期间,让时钟控件显示在窗体上 B)在列表框中不能进行多项选择

C)在列表框中能够将项目按字母从大到小排序 D)框架也有Click和DblClick事件

12.为了防止用户随意将光标置于控件之上,应将进行________设置。 A)将控件的TabIndex属性设置为0 B)将控件的TabStop属性设置为True C)将控件的TabStop属性设置为False D)将控件的Enabled属性设置为False

13.滚动条产生Change事件是因为 ________值改变了。 A)SmallChange B)Value

C)Max D)LargeChange

14.如果要每隔15s产生一个Timer事件,则Interval属性应设置为________。 A)15 B) 900 C )15000 D)150 15.列表框的 ________属性是数组。

A)List 和 ListIndex B)List 和 ListCount C)List 和 Selected D)List 和 Sorted

16.用户在使用ActiveX控件之前,需要将他们加载到工具箱中,下面________操作可进行ActiveX控件的加载。

A)工程-部件… B)视图-工具箱

C)工具-选项… D)工程-引用

17.在窗体上画一个列表框和一个文本框,然后编写如下两个事件过程: Private Sub Form_Load () \"357\" \"246\" \"123\" \"456\" =\"\" End Sub

Private Sub List1_ DblClick ( ) a = Print a+ End Sub

程序运行后,在文本框中输入\"789\",然后双击列表框中的\"456\",则输出结果为________。 A)1245 B) 456789 C )789456 D)0 18.在窗体上画一个列表框,然后编写如下两个事件过程: Private Sub Form_Click() 1 3 2

End Sub

Private Sub Form_Load() \"ItemA\" \"ItemB\" \"ltemC\" \"ItemD\" \"ItemE\" End Sub

运行上面的程序,然后单击窗体,列表框中所显示的项目为________。 A)ItemA与ItemB B)ItemB与ItemD C)ItemD与ItemE D)ItemA与ItemC

19. 假定在图片框Picture1中装入了一个图形,为了清除该图形(不删除图片框),应采用的正确方法是____。: A)选择图片框,然后按Del键 B)执行语句=LoadPicture(“ ”) C)执行语句=””

D)选择图片框,在属性窗口中选择Picture属性,然后按回车键

20. 在窗体上画一个名称为Text1的文本框,然后画一个名称为HScroll1的滚动条,其Min和Max属性分别为0和100,程序运行后,如果移动滚动框,则在文本框中显示滚动条的当前值。以下能实现上述操作的程序段是

A) Private Sub HScroll1_Change() = End Sub

B) Private Sub HScroll1_Click() = End Sub

C) Private Sub HScroll1_Change() = End Sub

D) Private Sub HScroll1_ Dblclick () = End Sub

21.如果只允许在列表框中每次只能选择一个列表项时,则应将其Multiselect属性设置为:_____。

A)0 B)1 C)2 D)3

22.要将一个组合框设置为简单组合框(Simple Combo),则应该将其Style属性设置为______。 A)0 B)1 C)2 D)3

答案:

1 11 2 12 3 A 13 B 4 A 14 C 5 C 15 C 6 D 16 A 7 D 17 B 8 D 18 D 9 B 19 B 10 C 20 A B B D D 21 22 A B 填空:下列程序段是允许用户按Enter键将一个组合框(CboComputer)中没有的项目添加到组合框中。

Sub CboComputer_Keypress(KeyAscii As Integer) Dim flag As Boolean If KeyAscii = 13 Then flag = False

For i = 0 To – 1

If 【1】 Then

flag = True Exit for End If

Next i

If 【2】 Then 【3】 Else

MsgBox(“组合框中已有该项目!”) End If End If End Sub

【1】 【3】

= (i)

【2】

Not flag 或flag=false

VB中巧用Tab格式函数打印图形 2007-06-05 14:23:21栏目:默认栏目

6506

0

9

在教育科学出版社出版的《算法与程序设计(VB)》(选修)一书中,有关于打印图形的例题,而书中并没有对此作详细的讲解。为了让学生能更好的理解和掌握双重循环及Tab(x)格式函数的运用,本人结合平时的教学经验,对Tab(x)格式函数的运用进行了归纳和总结,以便使学生能快速地掌握其方法和技巧。

关于图形的打印,我们一般采用双重循环,其中外循环控制打印的行数,内循环控制每行打印的字符个数。对于图形中各字符位置的确定,则需要用到Tab(x)格式函数进行定位。如何进行定位,我们可采用两种方法,即“行定位法”和“点定位法”: 一、行定位法:

方法:确定每行第一个字符所在的位置。通过图形分析找出各行首字符之间的位置关系,即可得出Tab(x)格式函数中x的表达式。 其程序模式一般为:

For i=1 to A ‘i为外循环变量,A控制打印的行数

Print Tab (x ); ‘x为每行首字符所在的位置,可以为常量,也可以为变量或表达式

For j=1 to B ‘j为内循环变量,B控制每行打印的字符个数 Print “@”; Next j Print Next i

对于所打印的图形,我们基本可将它们分为四类: l 基于左端对齐的图形(如图1所示):

由于各行首字符的位置在同一列上,且各行所有字符依次打印于首字符之后,则此时只有当x为某一常量时,才能保证图形左端对齐。如Tab(20),若A=3,B=4,则打印图形为3行4列的矩形;若此时A=6,B=i,则打印图形为直角三角形(如图1所示)。

l 基于向左倾斜的图形(如图2所示):

由于各行首字符的位置与前一行首字符相比,有向左移动的趋势,即此时x的值逐渐递减,且x每次变化值为1。由于i的值每循环一次递增1,因此x必定是关于i的表达式即x=常量 - i,才能使x的值呈递减趋势,从而达到图形左倾的效果。如Tab(20-i),若A=3,B=4,则打印图形为3行4列左倾的平形四边形;若A=6,B=i或B=2*i+1的表达式,则打印图形为左倾的直角三角形(如图2所示)或等腰三角形。

l 基于向右倾斜的图形(如图3所示):

由于各行首字符的位置与前一行首字符相比,有向右移动的趋势,即此时x的值逐渐递增,且x每次变化值为1。由于i的值每循环一次递增1,因此x必定是关于i的表达式即x=常量+i,才能使x的值呈递增趋势,从而达到图形右倾的效果。如Tab(20+i),若A=3,B=4,则打印图形为3行4列右倾的平形四边形;若A=6,B=A+1-i或B=2*(A+1)-(2*i+1),则打印图形为倒直角三角形(如图3所示)或倒等腰三角形。

l 基于上下对称的图形(如图4所示):

图形为上下对称,上半部分为正三角形,下半部分为倒三角形,中间一行的字符最多。我们可以设定中间最长的一行的i值为0作为临界值,上半部分图形中i值设为负,下半部分图形中i值设为正,即i的变化范围是从[-A,+A],A的值可以根据上半部分图形的行数所确定。此时x和B则是关于i的绝对值的表达式,即x=常量-abs(i),B=2*(A+1-abs(i))-1。若打印如图4的图形效果,则根据图形分析可知i的变化范围为[-3,3],x=20-abs(i),B=2*(4-abs(i))-1。

由以上四种图形分析可知,对于不对称图形(如图1、2、3)而言,x的常量值(如20)是以每个图形的第一行第一个字符所在位置为基准,各行首字符的位置在此基础上进行加或减的操作,从而使图形出现右倾或左倾;而对于对称图形(如图4)而言,x的常量值(如20)所表示的是图形中最长的一行左边第一个字符所在位置,相对于它所在位置,上下两部分的图形中各行的首字符呈递增趋势,且由于i是由负值变化到正值,故对各行首字符进行绝对值的加操作。 在“行定位法”中,Tab (x )格式函数是在外循环和内循环之间,因此每次执行时所确定的是各行第一个字符所在的位置。依照此程序模式所打印的图形存在一定的局限性,即当确定各行首字符位置之后,该行所有字符均按紧凑格式打印其后,且各字符之间排列紧密,无空格,因而本方法只适用于打印紧凑格式的实心图形,如直角三角形或每行为奇数(2*i+1)个字符的等腰三角形,而对于如图5所示的各字符间有间隔的图形则不能实现。

若要打印图5所示的三角形,我们一般采用第二种方法“点定位法”。 二、点定位法:

方法:在打印图形时,对每行中的每个字符的位置都进行定位。

这一方法使用起来比较灵活,适用于各种图形的打印。其程序模式如下: For i=1 to A ‘i为外循环变量,A控制打印的行数

For j=1 to B ‘j为内循环变量,B控制每行所打印的字符个数 Print Tab (x );“@”; ‘x为每个字符所在的位置,是关于i和j的表达式 Next j Print Next i

在此程序中,与“点定位法”不同之处在于,我们把Tab (x )格式函数放置于内循环之中。

在图形中,由于i值的变化而使图形呈左倾或右倾的变化趋势,由于j值的变化而使同一行中不同字符的位置发生了变化,因此x是关于i和j的表达式。要实现对每个字符进行精确定位,我们只需将“点定位法”各图形中x的表达式增加一个j值即可。如对以上所分析的四种图形中x的表达式分别为: x=20+j(图1),x=20-i+j(图2),x=20+i+j(图3),x=20+abs(i)+j(图4)。

对于以上的四种图形,我们将它们称为紧凑格式的图形,是由于各字符是按紧凑格式依次输出,此时i与j的系数比为1:1。若想拉大各字符间的间距,我们只需同时扩大i和j的倍数即可如图6所示。

而对于如图5所示的空心图形,各字符间存在一定的间距,通过各行首字符间的间距及每行中各字符之间的间距来确定i和j的系数比,即可得出x的表达式。若要打印如图5所示的图形,我们可以通过图形分析可知各行首字符间距为1,每行中各字符之间的间距为2,因此x表达式中i与j的系数比为1:2,即可设x=20+i+2*j。若要扩大每行中各字符之间的间距,则只需同时扩大i和j的倍数。 基于以上分析,对于任何一种图形,我们均应先观察图形中各行首字符位置所呈现的变化趋势,根据趋势确定变量i的符号是加还是减;其次观察分析图形中各行首字符间的间距与每行中各字符之间的间距的比值,若为1:1,则两种方法均可使用,若为1:n,则应运用“点定位法”,将Tab(x)格式函数放置于内循环之中,再对图形中的各字符进行逐个定位,方可打印出合适的图形。 由于“行定位法”只与i有关,而“点定位法”与i,j两变量有关,因而“点定位法”具有一定的灵活性。因此我们在打印较为复杂的图形时,可运用“点定位法”。 附图形及代码如下表: 图 形 行定位法(代码) For i=1 to 6 @ Print Tab (20 ); @@ For j=1 to i @@@ 图1 @@@@ @@@@@ Print @@@@@@ Next iI Next i Print Tab (20+j );“@”; Print “@”; Next j Next j Print For j=1 to i For i=1 to 6 点定位法(代码) For i=1 to 6 @ Print Tab (20-i ); @@ For j=1 to i @@@ 图2 @@@@ @@@@@ Print @@@@@@ Next i @@@@@@ @@@@@ @@@@ 图3 @@@ @@ @ @ @@@ @@@@@ @@@@@@@ 图4 @@@@@ @@@ @ @ 图5 For i=1 to 6 Print Tab (20+i ); For j=1 to 7-i Print “@”; Next j Print Next iFor i=1 to 6 For j=1 to 7-i Print Tab (20+i+j );“@”; Next j Print Next i Next i Print Tab (20-i+j);“@”; Print “@”; Next j Next j Print For j=1 to i For i=1 to 6 For i=-3 to 3 For I=-3 to 3 Print Tab (20+abs(i)); For j=1 to 7-abs(2*i) For j=1 to 7-abs(2*i) Print Tab(20+abs(i)+j);“@”; Print “@”; Next j Next j Print Print Next i Next i For i=1 to 5 @ @ @ @ @ @ @ @ @ @ @ @ @ @ For j=1 to i Print Tab (20-i+2*j);“@”; Next j Print Next i For i=1 to 4 @ @ @ @ @ @ @ @ @ @ @ @ 图6 @ @ @ @ For j=1 to 9-2*i Print Tab(20+2*(i+j));“@”; Next j Print Next i 修改时间:2007年3月 发表:原文发表于1999年《中国电脑教育报》

因篇幅问题不能全部显示,请点此查看更多更全内容