vb 控件属性 数组解决办法

vb 控件属性 数组解决办法
vb 控件属性 数组解决办法

Vb 属性接口数组解决办法

前不久制作Activex 控件,自定义接口成员,本来想通过外界传递数组给控件,但是我没有找到设置接口成员属性为数组的方法(我是个VB初学者,直到目前也没有找到方法)。后来发现vb中字符串长度可以存放多达2亿个字符。想到了将数组转换为字符串然后用字符串转换为数组的方法。

整体思路:在控件外接程序中将数组生成字符串,在控件里面将得到的字符串转换为数组完成数组的传递。举例详细代码如下宿主程序中按钮Command1单击触发以下函数运行:第一个For 循环生成x(0 to 50),y(0 to 50)两个数组。a,b为两个字符串,其第一个字符(数字形式)存放数组元素数目一共从0到50,有51个元素。Str()指令是将数字转换为字符数字,比如将51转换为“51”。第二个For循环将a,b两个字符串不断的添加字符(数字转换为字符形式,采用&连接,中间用逗号隔开)。从而a,b字符串分别是“51,0,1,2,3……,50”和“51,627.5 578.5 531.5 486.5……627.5”

控件的名称为ctr,为其设置了三个属性接口sn(布尔型) snx(字符串)sny(字符串)。其中snx,sny分别用于承接外界传递的字符串,Sn为某个位(与该主题无关,在控件中指示另外某个事件的)Private Sub Command1_Click()

Dim cd As Integer

Dim x() As Double

Dim y() As Double

cd = 50

ReDim x(cd)

ReDim y(cd)

For i = 0 To cd Step 1

x(i) = i

y(i) = (i - 25) ^ 2 + 2.5

Next i

Dim a As String

Dim b As String

a = Str(cd + 1)

b = Str(cd + 1)

For i = 0 To cd Step 1

a = a & "," & Str(x(i))

b = b & "," & Str(y(i)) Next i

ctr.sn = True

ctr.snx = a

ctr.sny = b

End Sub

控件中程序字符串处理代码Private Sub zhunhuan()

Dim xa() As Double

Dim ya() As Double

Dim af2() As String

Dim af3() As String

af2 = Split(m_snx, ",")

af3 = Split(m_sny, ",")

Dim cd As Integer

cd = Int(Val(af2(0))) ReDim ya(cd - 1)

ReDim xa(cd - 1)

For i = 0 To (cd - 1) Step 1 xa(i) = Val(af2(i + 1)) Next i

For i = 0 To (cd - 1) Step 1

ya(i) = Val(af3(i + 1))

Next i

End Sub

上述代码split函数将字符串剥离成一个数组从而af2(),af3()中存放字符即af3()中af3(0)为“51” af3(1)为“627.5” af3(2)为“578.5”For循环中Val(af3(i + 1))将af3(i + 1)中元素由字符转换为数字即af3(1)由“627.5”变换成为627.5 从而完成了整个数组由宿主程序往控件的传递。

附:程序前面自动生成的属性代码(即在属性设置完成向导生成的代码)

Const m_def_snx = "0"

Const m_def_sny = "0"

Const m_def_sn = 0

'属性变量:

Dim m_snx As String

Dim m_sny As String

Dim m_sn As Boolean

附:程序后面生成的属性代码(应该分别有三对get,let函数以及InitProperties(),ReadProperties(PropBag As PropertyBag) ,WriteProperties(PropBag As PropertyBag)等函数因为只有下面的函数要做添加代码,其它的几个都原封不动不做修改)。所作的修改也仅仅是在PropertyChanged "sny"后面添加了一句Call zhuanhuan也就是宿主程序中ctr.sn = True ctr.snx = a ctr.sny = b依次传递完三个属性后在最后一个属性传递完后启动zhuanhuan函数。

Public Property Let sny(ByVal New_sny As String)

m_sny = New_sny

PropertyChanged "sny"

Call zhuanhuan

End Property

作为一个初学者仅仅提出自己在项目中一个问题的解决办法,供大家讨论参考。

VB .NET中控件数组的实现

https://www.360docs.net/doc/6217006034.html,中控件数组的实现 摘要:VB编程时,当要处理一组相同类型的控件的同一事件过程时,我们可以引入控件数组这一概念。如进行计算器程序编写时,可创建十个数字按钮的控件数组,共享同一事件过程。VB6升级到https://www.360docs.net/doc/6217006034.html,后,VB6控件数组的创建方法在.NET中不可用,本文总结了几种https://www.360docs.net/doc/6217006034.html,中使用控件数组的方法。 关键词:https://www.360docs.net/doc/6217006034.html,控件数组事件过程程序代码 一、关于控件数组 熟悉VB6编程的,对控件数组这一概念应该非常熟悉,它是VB6中的一项简单而非常实用的技术,是指具有相同名称的同类型的控件,共享同一事件。它的最大好处是:简化编程。但当我们把这一用法沿用到https://www.360docs.net/doc/6217006034.html,中来时,却发现无法实现。虽然https://www.360docs.net/doc/6217006034.html,中没有VB6中实现控件数组的方法,但在https://www.360docs.net/doc/6217006034.html,中控件数组的运用更加灵活了。 https://www.360docs.net/doc/6217006034.html,中,控件数组的创建不再是在设计时简单地将同类型的各个控件的Name属性值设置成同一名称就可以了,https://www.360docs.net/doc/6217006034.html,中,不公能够创建同类型的相同事件处理过程,还能够创建属于不同类型但共享相同事件的控件组。 二、https://www.360docs.net/doc/6217006034.html,中控件数组的实现 要在https://www.360docs.net/doc/6217006034.html,中实现控件数组这一机制,我们需要通过编写代码来完成,下面来介绍几种的方法,大家可以根据程序的需要进行选择。 1、使用Handles子句。 先将控件数组中各控件对象依次添加到窗体,然后创建其中一个对象的事件过程(执行部分先不写),再把其它对象的这一事件依次添加在后面,各事件过程名之间用逗号分隔开来。在事件过程的执行部分,如果需要引用这些对象,则要先给这些对象创建一个相同的名称。当要引用对象时,不再使用它们的Name属性值,而是新创建的名称。示例代码如下(部分内容省略): Label1_Click(ByVal sender…)Handles Label1.C lick,Label2.Click,Label3.Click Dim lbl As Label = CType(sender, Label) 当中,创建的是Label1的Click事件,在其后面,添加了Label2及Label3的Click 事件。事件过程中,通过一条Dim语句,定义三个标签具有相同的名称lbl,在下面的代码中,要设置或获取其中某一个标签的某个属性值时,直接使用名称lbl即可。这种方法实现起来最方便简单,以上实例中要求控件数组中控件类型相同,通过此方法,也可实现不同类型同一事件处理程序的共享,如具有同一功能的菜单项和工

所有控件都具有的属性

所有控件都具有的属性:1、Name: 表示在代码中用来标识一个控件的名字。 2、Enabled: 表示一个控件是否可以响应一个事件,即该控件可不可用。 值为true: 可以响应;值为false: 不可以看见。 3、Visible: 表示一个控件是否可见。值为true:可以看见;值为false: 不可以看见。 所有控件都具有的事件:1、KeyDown : 当用户按下键盘上一个键时发生的。 2、KeyUp : 在用户松开键盘上按下的键时发生的。 3、KeyPress : 在Key Down和Key Up事件之间发生。 4、MouseDown : 在鼠标被按下时触发的。 5、MouseUp :在用户松开鼠标键时发生的。 6、Click :在用户单击鼠标左键时发生的。 7、DblClick :在用户双击鼠标时发生的。 一、窗体 (Form)属性: 1、Caption: 表示窗体标题栏的文字。 2、BorderStyle: 一般情况下为默认值,若更改为下列值: 1)值为0:没有窗体标题栏 2)值为1:窗体运行之后不能改变大小 3、WindowState: 设置窗体的大小。 3)值为0:窗体正常大小 4)值为1:窗体最小化值为2:窗体最大化 4、BackColor: 表示窗体的背景颜色 事件 1、Initialize(初始化事件): 在窗体加载和显示之前触发,这个事件只触一次。 2、Load(加载事件): 用来完成窗体显示之前需要完成的动作。 3、Activate/Deactivate (激活/非激活事件):是用户在同一个应用程序的两个或多个窗体之间移动时触发的。 4、QueryUnload(条件卸载事件): 决定窗体是如何关闭的。 触发QueryUnload事件时Unload 的参数和因素有: 1)VbFormControlMenu值为0 :选中窗体控件菜单中的Close命令。 2)VbFormCode值为1 :从代码中调用Unload 语句。 3)VbAppWindows值为2 :终止当前的Windows操作系统。 4)VbFormMDIForm值为4 :因为终止MDI父窗体而导致MDI子窗体的终止。 5、Terminate(终止事件):在窗体的所有实例从内存中清除时发生,只触发一次。 方法: 1、Load:加载窗体,但不在屏幕上显示 2、Unload:卸载窗体,既从屏幕上也从内存中清除窗体。 3、Show:加载窗体并在屏幕上显示窗体。Show分为: 1)正常窗体:Form1.show 2)模式窗体(只能显示一个窗体):Form1.show.vbmodel 4、Hide:从屏幕上隐藏窗体,但是在内存中保存窗体的信息。 5、Move:移动窗体,必须有坐标值。 二、文本框(Text)属性: 1、Text:表示文本框里的文本。如:Text1.Text=”APPLE” 2、MaxLength:给定一个整数,表示文本框最多可以输入几个字符(英文与汉字长度一样,都占一个字节)。 3、PasswordChar: 显示密码时使用。 4、Locked: 值为True: 用户不可以编辑文本框中的文本。 False:文本框中的文本可以更改。 5、MultiLine: 值为True:文本可以显示在多行。 False:文本只能显示在一行。 6、BackColor:文本框的背景颜色。 7、BorderStyle:设置文本框的样式,有两个值(上机试一下)。 8、Font:设置文本中的字体。 9、ForeColor:设置文本框中字体的颜色。 事件 1、Click:点击文本框时发生。 2、Change:当文本框中的文本发生变化时发生。 3、LostFocus:当文本框失去焦点时发生。

表单控件属性与方法总结

表单控件属性与方法总结表单控件属性 表单的文件名:.scx 表单

输出类控件 标签:第一次创建:name:label1 数据绑定时的字段名显示,默认的名称:lbl字段名 图像:image1. 通用型字段中如果存放的是图片,数据绑定指定的控件就是图像控件 线条:line1

形状:shape1 对控件对象的多重选定:shift+选择 输入类控件 文本框:text1 可以接受4种:c n d(t) l。可以作为以上4种数据类型的绑定控件:Txt字段名

方法:表示对象的行为 Setfocus:设置焦点 Thisform.控件名.方法名 事件: Gotfocus:对象获得焦点时 Lostfocus: 对象失去焦点时 Interactivechange:当键盘或鼠标改变文本框的值时发生 文本框和标签 分别用文本框控件和标签控件显示系统时间,系统日期,系统的日期时间Time()=c型 Date()=d型 Datetime()=t型 文本框用value可以接受c、n、d、l、t 标签用caption接受,只能是c 注意:在属性中设置也要加=

属性设置例子: THISFORM.TEXT1.VALUE=DATE() THISFORM.TEXT1.VALUE=DATETIME() THISFORM.TEXT1.VALUE=TIME() https://www.360docs.net/doc/6217006034.html,BEL1.CAPTION=TIME() https://www.360docs.net/doc/6217006034.html,BEL1.CAPTION=TTOC(DATETIME()) https://www.360docs.net/doc/6217006034.html,BEL1.CAPTION=DTOC(DATE()) 列表框list1和组合框combo1 1.列表框的列表项全部显示,而组合框只显示一项 2.组合框分为下拉组合框和下拉列表框,前者允许选择和输入数据项,后者和列表框一样只有选取功能

vb控件数组的习题及答案

vb控件数组的习题及答案

电子教室学生注册时姓名文本框部分请输入:如:1411111111李四学号+姓名,中间不加空格) 实验准备: 请同学们删除d:\ex21 文件夹里面的内容 如果没有ex21文件夹,请在d:\ 下新建 ex21 文件夹 1、打开D:\下的工程文件PROJECTA4.vbp和窗体文件FORMA4.frm,按以 下要求完成程序:在窗体上创建2个列表框、2个标签、2个命令按钮。 List1用于显示可选课程、List2用于显示已选课程。单击“选课”按钮, 将List1中选定的课程名称加入到List2中显示,单击“清空”按钮,将 删除List2中的所有课程。程序运行的参考输出格式如图A-4所示,可选 课程至少包含图A-4所示的6门。最后将工程文件、窗体文件按原文件 名保存在D:\EX21文件夹下。 图A-4

2、打开D:\下的工程文件PROJECTB4.vbp和窗体文件FORMB4.frm,按以下要求完成程序:在窗体上创建1个列表框、1个图片框、2个标签、2个命令按钮。List1用于显示可选课程、Picture1用于显示已选课程。单击“选课”按钮,将List1中选定的课程名称加入到Picture1中显示,单击“清空”按钮,将删除Picture1中的所有课程。程序运行的参考输出格式如图B-4所示,可选课程至少包含图B-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图B-4

3、打开D:\下的工程文件PROJECTA41.vbp和窗体文件FORMA41.frm,按以下要求完成程序:单击窗体,能产生10个两位的随机整数并存放在一维数组中,并能在窗体中输出该10个随机整数、最大数及其在10个数中的位置,要求使用语句强制显式声明模块中的所有变量,程序运行的参考输出格式如图A-41所示。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图A-41

VB常用控件属性

VB常用控件属性 4.1 标签 标签是VB中最简单的控件,用于显示字符串,通常显示的是文字说明信息。但不能编辑标签控件。 使用标签的情况很多,通常用标签来标注本身不具有Caption属性的控件。例如,可用标签为文本框、列表框、组合框等控件来添加描述性的标签。还可编写代码改变标签控件的显示文本以响应运行时的事件。例如,若应用程序需要用几分钟处理某个操作,则可用标签显示处理情况的信息。 4.1.1 常用属性 标签的属性很多,下面介绍几个常用的属性。 (1)Alignment属性 设置标签中文本的对齐方式。其使用语法如下: Object.Alignment[=值] 其中的“值”可以为0,1或2。0(默认值)表示左对齐;1表示右对齐;2表示居中。 (2)AutoSize属性 设置控件是否能够自动调整大小以显示所有的内容。其使用语法如下: Object.AutoSize[=True或False] (3)BackStyle属性 设置标签的背景样式。其使用语法如下: Object.BackStyle[=值] 其中的“值”可以为0或1。1(默认值)表示是不透明的;0表示是透明的。 (4)BorderStyle属性 设置标签的边框样式。其使用语法如下: Object.BorderStyle[=值] 其中的“值”可以为0或1。0(默认值)表示无边框;1表示单线边框。 (5)Caption属性 设置标签的文本内容。其使用语法如下: Object.Caption[=字符串] (6)WordWrap属性 设置标签的文本在显示时是否自动折行功能。其使用语法如下: Object.WordWrap[=True或False] 其中True表示具有自动折行功能;False(默认值)表示没有自动折行功能。 4.1.2 常用事件和方法 一般很少使用标签事件,标签的方法中常用的只有Move,其基本语法如下: Move left,top,width,height 其中left,top,width,height分别表示移动目的位置的坐标和大小。left为必要参数,其他三个为可选参数。 4.1.3 应用例子 目的:设计一个窗体说明标签的基本应用方法。 首先创建本章工程,在其中添加一个窗体,在该窗体中放置一个标签Label1。该标签的基本属性如下: Name Label1 Caption "中华人民共和国" BorderStyle 1

【精选资料】VB控件 数组 过程复习题 参考答案2

常用标准控件作业 一、选择题 1.下列关于属性设置的叙述错误的是_______B__。 A.一个控件具有什么属性是Visual Basic预先设计好的,用户不能改变它 B.一个控件具有什么属性值是Visual Basic预先设计好的,用户不能改变它 C.一个控件的属性既可以在属性窗口中设置,也可以用程序代码设置 D.一个控件的属性在属性窗口中设置后,还可以再利用程序代码为其设置新值 2.以下过程是标签Label1的___A______事件。 Prviate Sub Label1_Click( ) End Sub A.单击 B.双击 C.拖拽 D.移动 3.下列控件中可设置滚动条是____C_____。 A.检查框(复选框) B.框架 C.文本框 D.标签框 4.标签所显示的内容,由___C______属性值决定。 A. Text B. Name C. Caption D. Alignment 5.定时器的定时间隔单位是__C_______。 A. 秒 B. 微秒 C. 毫秒 D. 分 6.检查框(复选框)的控件名称为______B___。 A. OptionBotton B. CheckBox C. PictureBox D. Image 7.若要求向文本框输入密码时,只在文本框中显示&号,则应当在此文本框的属性窗口中设置______D___。 A. Text属性值为& B. Caption属性值为& C. PasswordChar属性值为空 D. PasswordChar属性值为& 8.若要设置定时器的定时间隔,可通过__A_______属性来设置。 A. Interval B. Value C. Enabled D. Text 9.若要设置定时器的定时间隔设为5秒,应将Interval属性值设为_D________。 A. 5 B. 50 C. 500 D. 5000 10.若要使不可见命令按钮显示出来,可通过设置_____A____属性的值为True来实现。 A.Visible B.Enabled C.Default D.Value 11.若要使定时器起作用,应将其__D_______属性设置值设为True。 A.Interval B.Value C.Text D.Enabled 12.若要使命令按钮失效,可设置_____B____属性为False来实现。 A.Value B.Enabled C.Visible D.Cancel 13.若要向列表框新增列表项,可使用_____D____方法来实现。 A.Add B.RemoveItem C.Clear D.AddItem 14.要获得垂直滚动条Vscrollbar控件所能表示的最大值,可通过调用该控件的_____B____属性来实现。 A.Value B.Max C.Min https://www.360docs.net/doc/6217006034.html,rgeChange 15.要将命令按钮上的文字设置为“粗体”可通过设置__B_______属性值为True来实现。 A.FontItalic B.FontBold C.FontUnderline D.FontSize 16.要将命令按钮上的文字设置为“斜体”可通过设置____A_____属性值为True来实现。 A.FontItalic B.FontBold C.FontUnderline D.FontSize 17.要将命令按钮上的字体设为“隶书”,可设置______C___的属性为“隶书”。 A.FontBold B.BackItalic C.FontName D.FontSize 18.以下选项中,不属于单选按钮属性的是____D_____ A.Enabled B.Caption https://www.360docs.net/doc/6217006034.html, D.Min 19.组合框的风格可通过____C_____属性来设置。 A.BackStyle B.BorderStyle C.Style D.Sorted 20.标签的边框由_____C____属性的设置来决定。 A.BackColor B.BackStyle C.BorderStyle D.AutoSize 21.单选按钮的控件名称为____D_____。 A.Botton B.CheckBox C.PictureBox D.OptionBotton 22.单选按钮的当前状态可通过___A______属性来访问。 A.Value B.Checked C.Selected D.Caption 23.当滚动条中的滑块位置变化时,将触发其___C______事件。 A.LostFocus B.SetFocus C.Change D.GetFocus 24.假定Picture1和Form1分别为图片框和窗体的名称,以下语句___A______可清除图片框中的文本信息。 A.Picture1.cls B.Picture1.clear C.Form1.cls D.Form1.clear 25.确定一个窗体或控件的大小的属性是_____B____。 A.Width或Height B.Width和Height C.Top或Left D.Top和Left

VB6.0基本控件的属性

VB基本控件的属性,方法经及事件 VB基本控件的属性,方法经及事件 VB基本控件的属性,方法经及事件 所有控件都具有的属性: 1、Name: 表示在代码中用来标识一个控件的名字。 2、Enabled: 表示一个控件是否可以响应一个事件,即该控件可不可用。 值为true: 可以响应;值为false: 不可以看见。 3、Visible: 表示一个控件是否可见。值为true:可以看见;值为false: 不可以看见。所有控件都有具有的事件: 1、KeyDown : 当用户按下键盘上一个键时发生的。 2、KeyUp : 在用户松开键盘上按下的键时发生的。 3、KeyPress : 在Key Down和Key Up事件之间发生。 4、MouseDown : 在鼠标被按下时触发的。 5、MouseUp :在用户松开鼠标键时发生的。 6、Click :在用户单击鼠标左键时发生的。 7、DblClick :在用户双击鼠标时发生的。 一、窗体(Form) 属性: 1、Caption: 表示窗体标题栏的文字。 2、BorderStyle: 一般情况下为默认值,若更改为下列值: 1)值为0:没有窗体标题栏 2)值为1:窗体运行之后不能改变大小 3、WindowState: 设置窗体的大小。 3)值为0:窗体正常大小 4)值为1:窗体最小化 值为2:窗体最大化 4、BackColor: 表示窗体的背景颜色 事件: 1、Initialize(初始化事件): 在窗体加载和显示之前触发,这个事件只触一次。 2、Load(加载事件): 用来完成窗体显示之前需要完成的动作。 3、Activate/Deactivate (激活/非激活事件):是用户在同一个应用程序的两个或多个窗体之间移动时触发的。 4、QueryUnload(条件卸载事件): 决定窗体是如何关闭的。 触发QueryUnload事件时Unload 的参数和因素有: 1)VbFormControlMenu值为0 :选中窗体控件菜单中的Close命令。 2)VbFormCode值为1 :从代码中调用Unload 语句。 3)VbAppWindows值为2 :终止当前的Windows操作系统。 4)VbFormMDIForm值为4 :因为终止MDI父窗体而导致MDI子窗体的终止。 5、Terminate(终止事件):在窗体的所有实例从内存中清除时发生,只触发一次。方法: 1、Load:加载窗体,但不在屏幕上显示 2、Unload:卸载窗体,既从屏幕上也从内存中清除窗体。 3、Show:加载窗体并在屏幕上显示窗体。Show分为:

控件数组

在https://www.360docs.net/doc/6217006034.html,中使用控件数组 控件数组是位于一个窗体上共享同一名称的一组同种类型控件。普通控件仅使用名称就可以识别,而引用控件数组中的成员则需要同时使用名称和索引。开发人员在Visual Basic 6.0 以及更早的版本中使用控件数组主要有以下三个理由: 1. 在循环中访问数组中控件的属性。 2. 向窗体动态添加新控件。 3. 允许一个事件例程与多个控件连接。 控件数组的使用,极大的方便了开发人员。然而,刚刚从Visual Basic6.0(以下简称VB6.0)过渡到Visual https://www.360docs.net/doc/6217006034.html,(以下简称https://www.360docs.net/doc/6217006034.html,)的初学者却发现,在https://www.360docs.net/doc/6217006034.html,中似乎不能使用控件数组了。笔者仔细查阅了https://www.360docs.net/doc/6217006034.html,的MSDN文档发现,在https://www.360docs.net/doc/6217006034.html, 中,确实不再支持控件数组。原因是,https://www.360docs.net/doc/6217006034.html,对事件模型作了很大的改动,引入了另外一种数据类型――控件集合模型,使控件数组没有存在的必要。就像VB6.0 中的控件数组可以共享事件一样,https://www.360docs.net/doc/6217006034.html, 中的事件模型允许任何事件处理程序都可以处理来自多个控件的事件,这就允许创建属于不同类型但共享相同事件的控件组。 所谓控件集合是指包含在一个容器中的所有控件的总和,能够创建控件集合的容器有:Form、Panel、GropBox等。程序运行时,可以通过访问容器的Control属性来得到该容器中的所有控件。 下面将演示如何通过控件集合来使用控件数组: 一、直接使用Form容器的控件集合来使用控件数组: 建立一个https://www.360docs.net/doc/6217006034.html,项目,在Form1中添加三个TextBox控件,名称分别为:TextBox1、TextBox2、TextBox3,一个Button控件。 双击Button,输入如下代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click …下面的语句是通过数组元素的下标来访问Form中的每一个元素。 Me.Controls.Item(0).Text = "集合中的第一个元素" Me.Controls.Item(1).Text = "集合中的第二个元素" Me.Controls.Item(2).Text = "集合中的第三个元素" Me.Controls.Item(3).Text = "集合中的第四个元素" End Sub 运行项目后,点击Button,看到的结果是:Form1中的所有控件(包括Button自己)的Text属性都被修改了,同时还发现,最后加入的的控件变成了集合中的第一个元素(下标为0)。这个结果说明: Form1中的所有控件已经自动构成了一个控件集合(控件数组),这个特点使得建立控件数组变得非常简单。 在访问这些控件时,除了可以通过控件名称直接访问外,还可以通过Contro.Item(n)属性按下标访问集合中的每一个控件; 集合中控件的类型可以不相同,这点和VB6.0完全不同; 集合中的下标顺序是按照加入控件的顺序倒排的; https://www.360docs.net/doc/6217006034.html,中控件数组的特点让人稍感不适的是,控件数组的下标是按加入顺序的倒排续产生的,但程序员完全可以改变这个顺序:在代码编辑窗中点击“#Region " Windows 窗体设计器生成的代码”旁边的“+”号,代码展开后,找到如下代码: Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.TextBox3) Me.Controls.Add(Me.TextBox2) Me.Controls.Add(Me.TextBox1)

VB选择题

VB选择题预测 1.Vb中TextBox控件是()。 A标签B命令按钮C文本框D单选按钮 2.使用VB编程,通常会用到工具箱中的工具,我们把这些工具称为() (A)事件(B)工具盒(C)控件(D)窗体 3.要修改窗体上的前景色需要用到下列哪个函数名称() (A) Forecolor(B) Font (C) Backcolor (D) caption 4. 在Visual Basic中最基本的对象是(),它是应用程序的基石,是其他控件的 容器。(A) 文本框(B) 命令按钮(C) 窗体(D) 标签 5. VB 6.0是一种面向( ) 的编程环境。 A)机器B对象C)过程 D 应用 6. 要使FormI窗体的标题栏显示"欢迎进入VB世界",以下()语句是正确的。 (A) Forml.Caption=“欢迎进入VB世界”(B) Forml.Caption='欢迎进入VB世界' (C) Forml.Caption=欢迎进入VB世界(D) Forml.Caption="欢迎进入VB世界" 7. 若要修改文本框的背景,要对()属性进行设置。 (A) Text (B)Maxlength (C) Backcolor (D)Caption 8、VB6.0集成开发环境不包括()窗口。 (A) DOS界面窗口(B) 窗体窗口(C) 代码窗口(D) 属性窗口 9.显示窗体可用窗体对象的() (A) Move方法(B) Show 方法(C) Display 方法(D) Load 方法 10.下列选项中不属于窗体的属性的是() (A)Caption (B) Font (C) Height (D) Text 11. 在visual Basic中可以包含其他控件的是( ) 。 (A)复选框(B)框架(C)文本框(D)滚动条 12.任何控件都有的属性是( ) 。 (A)BackColor (B)Caption (C)名称(D)BorderStyle 13.Visual Basic程序设计的主要的步骤是( ) A、可视性程序设计 B、代码程序设计 C、可视性程序设计和代码程序设计 D、界面设计 14.窗体能响应的事件是( ) A、ActiveFrom B、Drive C、Load D、Change

vb试卷答案

<一>界面设计 1、以下有关对象属性的说法中正确的是D 。A、对象所有的属性都罗列在属性窗口列表中B、不同对象不可能有同名属性 C、不同对象的同名属性取值一定相同 D、对象的某些属性即可在属性窗口设置,也可以通过属性代码设置或改变 2、有程序代码:Text1.Text=”Visual Basic”其中的Text1、Text和”Visual Basic”分别代表 C 。 A、对象、值、属性 B、对象、方法、属性 C、对象、属性、值 D、属性、对象、值 3、一个对象可以执行的动作与可被对象识别的动作分别称为B 。A、事件,方法B、方法,事件C、属性,方法D、过程,事件 4、Visual Basic是一种面向D 的程序设计语言。 A、过程 B、用户 C、方法 D、对象5、一只白色的足球踢进球门,则白色、足球、踢、进球门是 B 。A、属性、对象、方法、事件B、属性、对象、事件、方法C、对象、属性、方法、事件D、对象、属性、事件、方法6、Visual Basic是用于开发B 环境下的应用程序的工具。A、DOS B、Windows C、DOS和Windows D、UNIX 7、一个可执行的Visual Basic中应用程序至少要包括一个C 。A、标准模块B、类模块C、窗体模块D、辅助模块8、在Visual Basic

最基本的对象是B ,它是应用程序的基石。A、标签B、窗体C、文本框D、命令按钮 9、如果要在两个菜单命令项之间加一条分隔线,可在标题文本框中键入A 。A、- B、+ C、& D、# 10、在使用菜单编辑器创建菜单时,可在菜单名称中某字母前插入B 符号,那么在运行程序时按Alt键和该字母键就可打开该命令菜单。 A、下划线 B、& C、$ D、@ 11、在窗体Form1的Click事件过程中有以下语句: Label1.Caption=”visual basic” 若本语句执行前,标签控件的名称属性和Caption属性取缺省值,则标签控件的名称属性和Caption 属性在执行本语句前的取值分别为 C 。 A、Label, Label B 、Label, Caption C、Label1, Label1 D、Caption, Label 12、同上题,该语句执行后,标签控件的名称属性和caption属性取值分别为B 。 A、Label, visual basic B、Label1, visual basic C、Label1, caption D、Label1, label1 13、如果在窗体上有命令按钮OK,在代码编辑窗口有与之对应的CmdOK_Click()事件,则命令按钮控件的名称属性和Caption属性分别 为C 。 A、OK、Cmd B、Cmd、OK C、CmdOK、OK D、OK、CmdOK 14、窗体Form1的名称属性是frm,它的Load事件过程名是A 。 A、Form_Load B、Form1_Load C、frm_Load D、Me_Load 15、 用窗体的C__属性来设置窗体的标题。

VBA中的控件数组

VBA中的控件数组 2009年2月28日 评论发表评论 大家都知道,和VB不一样,VBA中不能直接创建控件数组。然而可以使用WithEvents来模拟相同的功能。我们需要一个类来处理控件的事件,而每一个控件需要一个类实例。对于不同控件的类实例,我们可以使用一个对象数组或者集合来实现。 这里使用按钮控件做为例子来介绍怎样在窗体和工作表中创建控件数组。 创建类 创建控件数组之前,我们需要一个类来处理控件的事件。 在VBE窗口中,单击菜单“插入”->“类模块”,在属性窗口中将类的名称改为“cCB”。 在类模块中添加下面这一行: Private WithEvents m_CB As https://www.360docs.net/doc/6217006034.html,mandButton 这样你就可以从代码栏的顶部左边下拉列表中选择m_CB并选择右边下拉列表中相应的事件。 完整的代码如下: Private WithEvents m_CB As https://www.360docs.net/doc/6217006034.html,mandButton ' 初始化,将控件绑定到类 Public Sub Init(ctl As https://www.360docs.net/doc/6217006034.html,mandButton) Set m_CB = ctl End Sub ' 控件的Click事件 Private Sub m_CB_Click() MsgBox "你点击了:" & m_CB.Caption End Sub ' 注销类 Private Sub Class_Terminate() Set m_CB = Nothing End Sub

窗体中的控件数组 然后创建一个窗体,在窗体中添加两个CommandButton,将这两个按钮控件分别命名为cmd1和cmd2,然后在窗体中的初始化事件中添加代码如下: Private ctlCB(1 To 2) As cCB ' 以对象数组保存类的实例 Private Sub UserForm_Initialize() Set ctlCB(1) = New cCB ' 将按钮cmd1赋给类的实例 ctlCB(1).Init cmd1 Set ctlCB(2) = New cCB ctlCB(2).Init cmd2 End Sub 这里使用对象数组ctlCB(1 to 2)来保存类实例。每当使用Set语句创建一个类实例,然后使用类的Init方法将按钮控件赋给这个实例。 也可以使用集合来保存这个类的实例。代码如下: Private colCB As New Collection Private ctlCB As cCB … 以集合保存类的实例 Private Sub UserForm_Initialize() Set ctlCB = New cCB ' 将按钮cmd1赋给类的实例 ctlCB.Init cmd1 ' 将类的实例加入到集合中 colCB.Add ctlCB Set ctlCB = New cCB ctlCB.Init cmd2 colCB.Add ctlCB End Sub

vb 控件属性 数组解决办法

Vb 属性接口数组解决办法 前不久制作Activex 控件,自定义接口成员,本来想通过外界传递数组给控件,但是我没有找到设置接口成员属性为数组的方法(我是个VB初学者,直到目前也没有找到方法)。后来发现vb中字符串长度可以存放多达2亿个字符。想到了将数组转换为字符串然后用字符串转换为数组的方法。 整体思路:在控件外接程序中将数组生成字符串,在控件里面将得到的字符串转换为数组完成数组的传递。举例详细代码如下宿主程序中按钮Command1单击触发以下函数运行:第一个For 循环生成x(0 to 50),y(0 to 50)两个数组。a,b为两个字符串,其第一个字符(数字形式)存放数组元素数目一共从0到50,有51个元素。Str()指令是将数字转换为字符数字,比如将51转换为“51”。第二个For循环将a,b两个字符串不断的添加字符(数字转换为字符形式,采用&连接,中间用逗号隔开)。从而a,b字符串分别是“51,0,1,2,3……,50”和“51,627.5 578.5 531.5 486.5……627.5” 控件的名称为ctr,为其设置了三个属性接口sn(布尔型) snx(字符串)sny(字符串)。其中snx,sny分别用于承接外界传递的字符串,Sn为某个位(与该主题无关,在控件中指示另外某个事件的)Private Sub Command1_Click() Dim cd As Integer Dim x() As Double Dim y() As Double cd = 50 ReDim x(cd) ReDim y(cd) For i = 0 To cd Step 1 x(i) = i y(i) = (i - 25) ^ 2 + 2.5 Next i Dim a As String Dim b As String

VB试题 (6)

题型:填空、判断、选择、程序填空、程序设计和窗体设计 VB的特点:面向对象、可视化、事件驱动 对象具有属性、事件和方法三要素. 属性是用来描述和反映对象特征的参数,不同的对象具有各自不同的属性,对象的所有属性都 可以在属性窗口中设置.N 所有控件都具有的共同属性是【1】属性.name 写出清除标签Label1的显示信息的语句为【1】. Label1.caption=""(清除文本框的内容、在标签上显示信息、在文本框中显示信息) 窗体的Enabled属性值为False时,该窗体上的按钮、文本框等控件就不会响应用户的操作。Y 当运行程序时,系统自动启动窗体的事件过程是().A (Enabled是否失效,Visible是否可见) A:Load B:Click C:UnLoad(关闭窗体时启动) D:GotFocus 控件是对象,而窗体不是对象,它只是控件对象的窗口.N 一个程序只能有一个窗体。N vb程序运行时窗体上对象的名称可以随时修改。N 如果要使命令按钮表面显示文字"退出(X)"(在字符X之下加下划线),则其Caption属性设置为【1】。退出(&X) 设置控件背景颜色的属性名称是【1】. Backcolor(前景色(字体颜色):Forecolor) 要在垂直位置上移动控件,应利用控件的()属性. C A:Left(左右移动时,利用该属性) B:Width C:Top D:Height 确定一个窗体或控件大小的属性是().A A:Width 和Height B:Width 和Top C:Top 和right D:Top 和 Left Visual Basic中的文本框中要使该框不允许多行输入,应设置【1】属性为false.MultiLine 能够获得一个文本框中被选取文本的内容的属性是Seltext。Y 若要使标签控件显示时不覆盖其背景内容,要对()属性进行设置. D A:BackColor B:BorderStyle C:ForeColor D:BackStyle Visual_basic是合法的变量名.(标识符以字母开头,后可跟字母、数字或下划线) 答案:Y 在VB代码中,将多个语句合并写在一行上的语句分隔符是【1】 冒号 基本数据类型:Integer(%)、Long(&)、Single(!)、Double(#)、String($) 下面()是日期型常量. C A:"12/19/99" B:12/19/99 C:#12/19/99# D:{12/19/99} 变量未赋值时,数值型变量的值为().A (字符串变量的值为空串) A:0 B:空 C:1 D:无任何值 Dim i, j as integer 表明i和j都是整型变量.N 要强制声明变量,可在窗体模块或标准模块的声明段中加入语句(). A:Option Base 0 B:Option Explicit C:Option Base 1 D:Option Compare 答案:B 为了给三个变量赋初值1,赋值语句是:x=y=z=1。 答案:N 在表达式中,运算符两端的数据类型要求必须一致.

常用控件的常用属性、方法和事件2011ok

一、窗体(属性) 这连个属性用来显示窗体右上角的最大、最小化按钮。如果希望显示最大或最小按钮,则应该将两个属性 这两项设置不起作用。因此,即使把maxbutton 最小化按钮也不会消失。如果borderstyle属性被设置为0——none 属性定义的名称是在程序代码中使用的对象名,与对象的标题(caption) 是只读属性,在运动时,对象的名称不能改变。

一、窗体(事件):事件是作用于对象上的一种动作或行为,也可以理解为是对象能够识别(也称响应)

常用标准控件 大多数控件都具有的属性:Borderstyle enable Fontbold fontitalic fontname fontsize fontunderline Height left name top visible width,此外不同的控件还具相应的属性 文本控件 与文本有关的控件有两个,即标签和文本框,在标签中只能显示文本,不能进行编辑,而在文本框中即可以显示文本,有可输入文本。 二、标签 1、标签主要用来显示文本信息,所显示的内容只能用caption属性来设置或修改,不能直接编辑,有时候,标签常用来标注本身不具有caption属性的控件,例如可以使用标签为文本框、列表框组合框等控件附加描述信息。

标签一般不响应事件 三、文本框 1、文本框属性 文本框支持click和dblclick等鼠标事件,同时支持change、gotfocus、lostfocus等事件。 1)Change 当用户向文本框中输入新信息时,或当程序吧text属性设置为新值从而改变文本框的text属性时,将触发chang事件。2)Gotfocus 当文本框具有输入焦点(即处于活动状态)时,从键盘输入的每个字符都将在该文本框中显示出来 3)lostfocus 当按下tab键使光标离开当前文本框或者用鼠标选择窗体中的的其他对象时触发该事件,用change事件过程和lostfocus事件过程都可以检查文本框的text属性值,但后者更有效。 (将上面是代码编写在text1失去焦点事件,效果一样) 方法:setfocus 该方法是文本框中较为常用的方法,格式如下: [对象]。Setfocus 该方法可以把输入光标移到指定的文本框中。

一、单项选择题(共70题)1.下列控件中,没有Text属性的是()。A.框架

一、单项选择题(共70题) 1. 下列控件中,没有Text属性的是()。 A. 框架 B. 列表框 C. 复选框 D. 定时器 答案:D 2. 复选框的CheckState属性为CheckState.Indeterminate时,表示()。 A. 复选框未被选定 B. 复选框被选中 C. 复选框被选定并有灰色的勾 D. 复选框不可以操作 答案:C 3. 在下列关于单选按钮和复选框的说法中,错误的是()。 A. 某个单选按钮被单击一定会触发它的CheckedChanged B. 一个单选按钮状态发生变化,同一组中必有另一个单选按钮的状态也发生变化 C. 某个复选框被单击一定会触发它的CheckedChanged D. 一个复选框的状态发生变化,不会影响其他复选框的状态 答案:A 4. 在设计状态,列表框中的选项可以通过()属性设置。 A. List B. Items.Count C. Text D. Items 答案:D 5.在下面对列表框(ListBox1)的操作中,正确的语句是()。 A.Listbox1.Items.Cls B. ListBox1.Items.Remove(4) C.ListBox1.Items.Remove("计算机") D. ListBox1.Items.Add(1,"打印机") 答案:C 6.引用列表框(ListBox1)最后一个数据项应使用()。 A. ListBox1.Items(ListBox1.Items.Count) B. ListBox1.Items(ListBox1.Items.Count - 1) C. ListBox1.Text D. ListBox1.Items(ListBox1.SelectedIndex) 答案:B 7.在下列说法中,正确的是()。 A. 在程序运行期间,可以通过恰当的设置让时钟控件显示在窗体上 B. 若单击某个单选按钮,则该单击按钮的CheckedChanged事件一定被触发

vb控件数组的习题及答案

电子教室学生注册时姓名文本框部分请输入:如:1411111111李四学号+姓名,中间不加空格) 实验准备: 请同学们删除d:\ex21文件夹里面的内容 如果没有ex21文件夹,请在d:\ 下新建ex21文件夹 1、打开D:\下的工程文件PROJECTA4.vbp和窗体文件FORMA4.frm,按以下 要求完成程序:在窗体上创建2个列表框、2个标签、2个命令按钮。List1 用于显示可选课程、List2用于显示已选课程。单击“选课”按钮,将List1 中选定的课程名称加入到List2中显示,单击“清空”按钮,将删除List2 中的所有课程。程序运行的参考输出格式如图A-4所示,可选课程至少包含 图A-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21 文件夹下。 图A-4

2、打开D:\下的工程文件PROJECTB4.vbp和窗体文件FORMB4.frm,按以下要求完成程序:在窗体上创建1个列表框、1个图片框、2个标签、2个命令按钮。List1用于显示可选课程、Picture1用于显示已选课程。单击“选课”按钮,将List1中选定的课程名称加入到Picture1中显示,单击“清空”按钮,将删除Picture1中的所有课程。程序运行的参考输出格式如图B-4所示,可选课程至少包含图B-4所示的6门。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。 图B-4 3、打开D:\下的工程文件PROJECTA41.vbp和窗体文件FORMA41.frm,按以下要求完成程序:单击窗体,能产生10个两位的随机整数并存放在一维数组中,并能在窗体中输出该10个随机整数、最大数及其在10个数中的位置,要求使用语句强制显式声明模块中的所有变量,程序运行的参考输出格式如图A-41所示。最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。

相关文档
最新文档