控件数组

合集下载

visualbasic程序设计教案:数组

visualbasic程序设计教案:数组

§3.6 数组数组是按一定顺序排列,具有相同类型的变量的集合。

VB中将数组分为静态数组和动态数组,静态数组在声明时必须指明数组的维数和变量的个数;动态数组在声明时仅定义数组的名称和类型,然后在执行程序的过程中,根据实际需要再用ReDim语句定义数组的维数及变量的个数,而且允许使用简单变量来进行数组中变量个数的定义。

数组的使用在管理信息系统软件的程序设计中有着不可替代的作用,离开数组的使用,某些程序的编制将会变得非常麻烦,甚至导致程序编制的失败,因此数组是程序设计人员必须熟悉和掌握的必备知识。

【教学要求】了解:数组的概念。

理解:静态数组和动态数组的区别;控件数组的作用。

掌握:数组的定义及使用方法;控件数组的应用。

【本节重点】动态数组的应用。

控件数组的应用。

【本节难点】动态数组的应用。

一、静态数组及声明1、一维数组一维数组的定义如下:Dim <数组名> ([下界To]上界) [As 类型]若缺省下界,系统默认为0。

例:Dim num(1 To 50)As Integer2、多维数组VB中数组的维数允许最多可达60维。

多维数组的定义格式如下:Dim <数组名>([下界1 To]上界1,[下界2 To]上界2……)[As 类型] 例:Dim A(12,50),C(10)As Double二、动态数组动态数组在声明时只定义数组名或数组名及类型,不指定大小,在执行程序的过程中,再根据需要用Redim语句重新定义数组的大小。

重新定义动态数组的语句格式如下:Redim <数组名>(下标1[,下标2……])注意:(1)Redim语句中的下标可以是已被赋值的变量。

(2)在过程中可多次使用Redim来改变数组的大小和维数。

(3)每次使用Redim语句都会使原数组中的数据丢失,如需要保留原数组数据,可用Preserve参数来保留,使用该参数只能改变最后一维的大小。

例:在程序运行时由操作者指定一个一维数组的变量个数,然后由计算机自动产生一组随机数存放到一维数组中,并将此组随机数在窗体上打印出来。

vb控件数组的使用

vb控件数组的使用

vb控件数组的使用VB控件数组是在Visual Basic开发环境中用于处理大量相似控件的一种技术。

通过创建控件数组,可以方便地对一组控件进行集成处理,从而提高代码效率。

下面将详细介绍控件数组的使用及其注意事项。

1、控件数组的声明与初始化在VB中,声明控件数组与普通变量的方法类似。

通过使用Dim语句,在程序代码中声明一个控件数组,例如:Dim myButton(10) as CommandButton这里创建了10个命令按钮的数组,可以直接操作数组元素,如:myButton(0).Caption="Button1"myButton(1).Caption="Button2"当然,你也可以使用For循环结构来初始化数组中的控件,如下所示:For i = 0 To 10Set myButton(i) = Controls.Add("mandButton", "Button" & i)myButton(i).Top = i * 25Next i上述代码使用For循环在窗体上添加了11个按钮,并将它们的Top 属性依次设置为0、25、50、75……。

2、控件数组的处理方法通过使用控件数组,可以对具有相同事件处理程序的一组控件进行集成处理。

比如,你可以使用For循环结构为这些控件注册事件,代码如下:For i = 0 To 10Set myButton(i) = Controls.Add("mandButton", "Button" & i)myButton(i).Top = i * 25AddHandler myButton(i).Click, AddressOf Buttons_ClickNext iPrivate Sub Buttons_Click()MsgBox "Clicked"End Sub这里,我们将11个按钮的Click事件都绑定到Buttons_Click事件处理程序,当任何一个按钮被单击时,都会产生一个被处理的事件。

第6章 数组

第6章 数组
结束
一维数组的引用 数组的引用通常是对数组元素的引用。 一维数组元素的表示形式为: 数组名(下标 下标) 数组名 下标 说明: (1)下标可以是整型常量或整型表达式。 (2)引用数组元素时,下标值应在数组声 明的范围之内。否则将会出错。 (3)一般通过循环语句及InputBox函数给 数组输入数据。数组的输出一般用Print 方法、标签或文本框实现。
结束
Public Sub Command1_Click() Dim score! (5) , aver!, i% aver = 0 For i = 1 To 5 score(i) = InputBox("请输入第 & i & "个学生的成绩 请输入第" 个学生的成绩") 请输入第 个学生的成绩 Label4.Caption = Label4.Caption & score(i) & Space(5) aver = aver + score(i) Next i aver = aver / 5 Label5.Caption = Label5.Caption & aver & Space(5) For i = 1 To 5 If score(i) > aver Then Label6.Caption = Label6.Caption & score(i) & Space(5) End If Next i End Sub
结束
再将A(1)分别与A(3)、…、A(10)比较,并 且依次作出同样的处理。最后,10个数中 的最小者放入了A(1)中。 第2轮:将A(2)分别与A(3)、…、A(10)比 较,并依次作出同第1轮一样的处理。最后, 第1轮余下的9个数中的最小者放入A(2)中, 亦即A(2)是10个数中的第二小的数。 照此方法,继续进行第3轮… …

VB程序设计第2版教学课件55控件数组

VB程序设计第2版教学课件55控件数组

2
控件数组建立方法
【控件数组的建立方法】
【方法1】利用为控件数组命名方法建立控件数组
① 在窗体上添加同一类型的多个控件。如:Text1、Text2…… ② 单击Text2,使其处于选定状态。 ③ 在属性窗口选择“名称”,即Name属性, 并修改控件名称,即:Text1,显示对话框, 单击“是”,则建立控件数组。 ④ 对要加到数组中的控件重复第②、③步, 输入与第③步相同的名称。
10个元素,随机产生10个3位整数放入控件数组Text1中,重新排 列这10个数,将其中的奇数放在前,偶数放在后,重排后的数据 放入Text2中。
界面设计
3
动态数组应用
代码设计
Dim n As Integer
Private Sub Command1_Click()
Dim i%
Randomize
n=0
2
【说明】
控件数组说明
① 控件数组建立后,只要改变一个控件的“名称”属性,即Name属 性,并将Index属性置为空(不是0),则该控件从控件数组中删除。 ② 建立了控件数组之后,控件数组中所有控件触发同一事件过程,由 事件过程根据不同的Index值执行不同的操作。
3
动态数组应用
【应用】建立2个数组控件Text1、Text2,每个数组控件具有
For i = 0 To 9
Text1(i).Text = Int(100 + Rnd * 900)
If Text1(i).Text Mod 2 <> 0 Then
n=n+1
Байду номын сангаас
'统计奇数个数
End If
Next i
End Sub

数组的基础知识 一维数组 二维数组 控件数组 动态数组

数组的基础知识 一维数组 二维数组 控件数组 动态数组

1.2 数组的维数
如果数组的元素只有一个下标,则称这个数组为一 维数组。 用两个下标来表示元素的数组称为二维数组。对于 可以表示成表格形式的数据,例如矩阵、行列式 等,用二维数组来表示是非常方便的。 根据问题的需要,我们还可以选择使用三维数组、 四维数组,甚至更多维的数组。在Visual Basic 中最多允许有60维数组。例如我们想表示空间上 的一个点P,其坐标有三个,分别是X轴、Y轴、 Z轴上的坐标,那么我们可以使用三维数组来表 示,数组的第一维表示X坐标,第二维表示Y坐标, 第三维表示Z坐标,如用P(x,y,z)来表示。
ReDim [Preserve] 数组名[(维数定义)][As 数据类型]……
5.3 相关知识
几点说明: (1) “上界”和“下界”可以是常量和有确定值的变量; (2)可以使用“ReDim”语句多次改变数组的数组元素个数和维 数,但不能改变这个数组的数据类型; (3)如果重新定义数组,则会删除它原有数组元素中的数据,并 将数值型数组元素全部赋0,将字符型数组元素全部赋空串; (4)如果要重定义后不删除原有数据,应在定义数组时增加 “Preserve”关键字,只能改变最后一维的上界,不可以改变 数组的维数。 (5)ReDim语句只能出现在过程中。 由上可知,动态数组声明时省略了括号中的下标,没有给定数组 的大小。使用时需要用“ReDim”语句重新指出其大小。使用 动态数组的优点是根据用户需要,有效地利用存储空间,是在 程序执行到ReDim语句时才分配存储单元,而静态数组是在程 返回 序编译时分配存储单元的
返回
2.1数列排序案例说明
该程序可以产生一个包含十个元素的随机整数序 列,通过运行代码可以求出这个数列中的最大 值、数列的平均值以及按升序排列,当按下 “插入新数据”按钮时,用户可以通过键盘输 入一个新的整数,构成一个包含11个元素的数 组,并且把新输入的整数按升序插入到正确的 位置,

浅谈VB中的控件数组及其应用

浅谈VB中的控件数组及其应用

界 面主 要足 由一 个 Fa e 件 和 1 r 控 m 5个命 令按 建 控件 数 组组成 。下 面重 点介 绍命 令按 钮 控件 数组 的创 建 方法 。 创 建命 令 按钮 控 件 数组 , 以在 设 计 时创 建 , 可 以在 运 可 也
行 时创 建 。 为 了方便起 见 . 文在 设计 时创 建 。 但 本 设计 时创 建 有二 种方 法 。第 一 种方 法 : 复制 已有 的命 令 按钮 控件 数 组 并将 其粘 贴 到窗体 上 。具 体操 作 步骤 为 :) 1 先在 窗体 的
Vo . . I5 No3
Ma 2 用
钟 绍 辉
( 沙洋师范专科 学校 计算机科 学与技 术系, 湖北 沙洋 480) 420
摘要 :控件数 组” V 6 “ 是 B. 0中一项 简单而 实用的技 术 , 通过 对控件 的简单拷 贝 、 贴 , 者 可以建立一 组 粘 开发 控件 , 些控件 具有相 同的类型和名称 , 这 共享事件集 。程 序开发 中利用该控件 可以优化代码 。
结束或进行新一轮游戏 ;1 5 如果不成功 , 重复 15步。经 —
分 析可 知 .要 编 写 的代 码并 不 复 杂 。但 如果 不用 控 件 数 组 。 用 1 命 令 按 钮 , 每 个 命 令 按 钮 都 要 编 写 一段 而 5个 则 相 似 的代 码 . 每 个 按钮 在 移动 时 很难 对 其 进行 定 位 , 且 但
控件数组是vb60中一项简单而实用的技术通过对控件的简单拷贝粘贴开发者可以建立一组控件这些控件具有相同的类型和名称共享事件集
维普资讯
第 5卷 第 3期 20 年 5 月 06
襄樊 职 业 技 术 学 院 学 报
J un l fX a ga c t n la dT c nc l olg o ra in fnVo ai a n e h ia l e o o C e

VBA中的控件数组

VBA中的控件数组

VBA中的控件数组VBA中的控件数组2009年2月28日评论发表评论大家都知道,和VB不一样,VBA中不能直接创建控件数组。

然而可以使用WithEvents来模拟相同的功能。

我们需要一个类来处理控件的事件,而每一个控件需要一个类实例。

对于不同控件的类实例,我们可以使用一个对象数组或者集合来实现。

这里使用按钮控件做为例子来介绍怎样在窗体和工作表中创建控件数组。

创建类创建控件数组之前,我们需要一个类来处理控件的事件。

在VBE窗口中,单击菜单&#8220;插入&#8221;-&gt;&#8220;类模块&#8221;,在属性窗口中将类的名称改为&#8220;cCB&#8221;。

在类模块中添加下面这一行:Private WithEvents m_CB As mandButton这样你就可以从代码栏的顶部左边下拉列表中选择m_CB并选择右边下拉列表中相应的事件。

完整的代码如下:Private WithEvents m_CB As mandButton' 初始化,将控件绑定到类Public Sub Init(ctl As mandButton)Set m_CB = ctlEnd Sub' 控件的Click事件Private Sub m_CB_Click()MsgBox "你点击了:" &amp; m_CB.CaptionEnd Sub' 注销类Private Sub Class_Terminate()Set m_CB = NothingEnd Sub窗体中的控件数组然后创建一个窗体,在窗体中添加两个CommandButton,将这两个按钮控件分别命名为cmd1和cmd2,然后在窗体中的初始化事件中添加代码如下:Private ctlCB(1 To 2) As cCB' 以对象数组保存类的实例Private Sub UserForm_Initialize()Set ctlCB(1) = New cCB' 将按钮cmd1赋给类的实例ctlCB(1).Init cmd1Set ctlCB(2) = New cCBctlCB(2).Init cmd2End Sub这里使用对象数组ctlCB(1 to 2)来保存类实例。

第六章 数组.

第六章 数组.

sc(i, j) = InputBox("输入sc(" &i & "," & j & ") 的值") Next j Next I
3、数组在内存中存放的顺序 数组在内存中存放时,首先变化的是最后一维的 下标,然后变化倒数第二维的下标…(按行存放)。 例如,数组A(4,3)在内存中的分配如下:
A(0,0) A(1,0)
其表示形式: A(1),A(6) X(1,1), X1(1,6), X(2,6)
Y(0,0,0), Y(1,2,5)
6.2 一维数组
一、 一维数组的声明 (无隐式声明)
形式:
Dim 数组名([<下界>to]<上界>)[As <数据类型>] 或: Dim 数组名[<数据类型符>]([<下界>to]<上界>) ‘ 声明了a数组有6个元素 数组元数的数据类型
二、 访问整个数组
对于数组中的各个元素,我们可以用数组名称 (索引值)进行访问。然而,是无法只用数组名称就 对所有的元素进行计算。
例如:要把数组中的各元素值都加上1 这是错误的! Dim X(4)
X=X+1 For I=0 to 4 x(i)=x(i) +1 这是正确的!
Next
无法对数组中的所有元素同时进行运算处理。 但是,可以一次“读取”整个数组本身。
6.4 数据排序与查找
数据交换
将A和B两个变量中的数值交换
A=B B=A Temp=A
A=B
B=Temp
一、选择排序
算法思想:
1)对有n个数的序列(存放在数组a(n)中),从中选 出最小(升序)或最大(降序)的数,与第1个数交 换位置;

VB基础教程:第五章第五节控件数组

VB基础教程:第五章第五节控件数组

5.5 控件数组
1.控件数组的概念
控件数组是由⼀组相同类型的控件组成的,它们共⽤⼀个控件名,具有相同的数组。

控件数组适⽤于若⼲个控件执⾏的操作相似的场合,控件组共享同样的事件过程。

控件数组通过索引号(属性中的Index)来标识各控件,第⼀个下标是0 。

如:Text1(0)、Text1(1)、Text1(2)、Text1(3)……
2.控件数组的建⽴
(1)在设计时建⽴
步骤:1)在窗体上画出某控件,并进⾏属性设置。

2)选中该控件进⾏“复制”和“粘贴”操作,系统提⽰“是否建⽴控件数组”,选择是即可。

多次粘贴就可以创建多个控件元素。

3)进⾏事件过程的编程。

(2)运⾏时添加控件数组
⽅法:1)在窗体上画出某控件,设置该控件的Index值为0,表⽰该控件为数组。

2)在编程时通过Load⽅法添加其余若⼲个元素,也可以通过Unload删除某个添加的元素。

3)每个添加的控件数组通过Left 和Top属性,确定其在窗体上的位置,并将Visible设置为True。

使⽤⽰例:建⽴⼀个类似国际象棋的棋盘,要求⿊⽩交替,运⾏时单击某个棋格,会改变颜⾊并显⽰其序号。

使用控件数组(VB6)

使用控件数组(VB6)

使用控件数组(VB6高级编程)(福哥录入)控件数组是一组具有共同名称和类型,且事件过程也相同的控件。

一个控件数组至少应有一个元素,元素数目可在系统资源和内存允许的范围内增加;数组的大小也取决于每个控件所需的内存和windows 资源。

在控件数组中可用的最大索引值为32767。

同一控件数组中的元素有自己的属性设置值。

常见的控件数组包括实现菜单控件和选项按钮分组。

在设计时,使用控件数组添加控件所消耗的资源比直接向窗体添加多个相同类型的控件所消耗的资源要少。

当希望若干控件共享代码时,控件数组也很有用。

例如,如果创建了一个包含三个选项按钮的控件数组,则无论单击那个按钮时都将执行相同的代码。

若要在运行时创建新控件,则新控件必须是控件数组的成员。

使用控件数组时,每个新成员继承数组的共享事件过程。

没有控件数组机制是不可能在运行时创建新控件的,因为全新控件不具有任何事件过程。

控件数组解决了这个问题,因为每个新控件都继承为数组编写好的事件过程。

例如,如果窗体上有若干文本框,而且每个文本框都接受一个日期数值,则可创建一个控件数组,使所有文本框共享一个合法性检查代码。

1、设计时创建控件数组设计时有三种方法创建控件数组:(1)将相同名字赋予多个控件。

(2)复制现有的控件并将其粘贴到窗体上。

(3)将控件的Index 属性设置为非Null数值。

可以通过改变控件名称添加控件数组元素,步骤如下所示:(1)绘制控件数组中要添加的控件(必须为同一类型的控件)。

决定哪一个控件作为数组中的第一个元素。

(2)选定控件并将其Name 设置值变成数组第一个元素的Name 设置值。

(3)在数组中为控件输入现有的名称时,VisualBasic 将显示一个对话框,要求确认是否要创建控件数组。

此时选择“确定”按钮确认操作。

例如,若控件数组第一个元素名称为cmdCtlArr,则选择一个CommandButton将其添加到数组中,并将其名称设置为cmdCtlArr,此时,将显示这样一段信息:“已经存在名为‘cmdCtlArr’的控件。

论VB中控件数组的建立及对事件的响应

论VB中控件数组的建立及对事件的响应

果 写 Pia u bl l k ) 统 会 提 示 “ r t sbl e1ci ( 系 ve a c 过程 声 明 这 种建 立 的方 法 适 用 于 已知 该 种 控 件 的 数 目 。 丽 与 同 名 事 件 不 匹 配 ” 丽 写 成 P v t sb lb l () . i e r a u a el i 且 在 控件数 目不多 的情 况下使 用 。 由 于每个 控件 都可 ci ( 也 是不 可 以 。纠其原 因 , lk ) c 就是 因 为此 时是 控件 以在 窗 口画 出 , 以使 用起 来 比较直 观 。 所 数组 . 件数组 毕竟 与普 通控 件是 不 同 的 . 以在 响应 控 所 22动 态 建立 : 态建 立 分 两 种 方 式 . 中第 二 种 事件 时 的语法 也 是不 同。 . 动 其 是 作 者经过 实践 丽发 现 + 于 “ 属 动静 结合 的方式 ” 。 其 正 确 语 法 是 P vt u ae1cik (n e s i e r a sblb l l c id xa 221 窗 口添加 一个 所需 元 件 .再在 该 元件 的属 .. 在 it e) 其 他 的事 件 中 , 果涉 及 多个 形 参 , 形参 ne r。离 g 如 则 性 栏 里 找 到 “ d x 一 栏 . 其 id x值 设 置 为 “ ” 这 的第 一 个 必须 是 id xa tgr 例如 : b l i e” n 将 ne 0。 n e 8i ee 。 n l e 控件 有事 a 样 就完 成 了动态 建立 。 件 P i t S b L b l Mo sDo f utn As I tg r r ae u a el u e wn B t ne e, v o 222在 窗 口添加 出一个 所需 元 件 .再 将 该元 件复 。。 Si nee, sSnl Y A ige. 控件 数 组 hfAs t rXA ig , sSn )而 t I g e l 制 粘 贴 。 出现 对话框 : 否建 立 控件 数组 + 击确 定 。 会 是 点 的 m ue o n事 件 为 :r aeS b L b l Mo sD w o sd w P i t u a el v ue o n 之后 删 除 复制 的那个 元 件 ( 可 以不 删 , 然 可 以实 也 依 ( d x a nee,utn A nee, hf A nee, i e sitgr t sItgr S i sIt r X n B o t g

VB.NET中控件数组的实现

VB.NET中控件数组的实现

中控件数组的实现摘要:VB编程时,当要处理一组相同类型的控件的同一事件过程时,我们可以引入控件数组这一概念。

如进行计算器程序编写时,可创建十个数字按钮的控件数组,共享同一事件过程。

VB6升级到后,VB6控件数组的创建方法在.NET 中不可用,本文总结了几种中使用控件数组的方法。

关键词:控件数组事件过程程序代码一、关于控件数组熟悉VB6编程的,对控件数组这一概念应该非常熟悉,它是VB6中的一项简单而非常实用的技术,是指具有相同名称的同类型的控件,共享同一事件。

它的最大好处是:简化编程。

但当我们把这一用法沿用到中来时,却发现无法实现。

虽然中没有VB6中实现控件数组的方法,但在 中控件数组的运用更加灵活了。

中,控件数组的创建不再是在设计时简单地将同类型的各个控件的Name属性值设置成同一名称就可以了,中,不公能够创建同类型的相同事件处理过程,还能够创建属于不同类型但共享相同事件的控件组。

二、中控件数组的实现要在中实现控件数组这一机制,我们需要通过编写代码来完成,下面来介绍几种的方法,大家可以根据程序的需要进行选择。

1、使用Handles子句。

先将控件数组中各控件对象依次添加到窗体,然后创建其中一个对象的事件过程(执行部分先不写),再把其它对象的这一事件依次添加在后面,各事件过程名之间用逗号分隔开来。

在事件过程的执行部分,如果需要引用这些对象,则要先给这些对象创建一个相同的名称。

当要引用对象时,不再使用它们的Name属性值,而是新创建的名称。

示例代码如下(部分内容省略):Label1_Click(ByVal sender…)HandlesLabel1.Click,Label2.Click,Label3.ClickDim lbl As Label = CType(sender, Label)当中,创建的是Label1的Click事件,在其后面,添加了Label2及Label3的Click事件。

事件过程中,通过一条Dim语句,定义三个标签具有相同的名称lbl,在下面的代码中,要设置或获取其中某一个标签的某个属性值时,直接使用名称lbl即可。

用C#实现简单的控件数组

用C#实现简单的控件数组

做计算器程序,井字棋游戏。

这两个程序有个共同的特点:包含数个具有同类功能的控件(计算器的数字按钮及井字棋的九个落子位)。

如果一个个地创建这些控件,不得不写大量重复的代码,修改起来比较麻烦。

一个更好的选择是建立控件数组。

下面是Button数组的简单实现:Button[] btns = new Button[9];private void ShowButtonArray(){for(int i = 0; i < 9; i++){btns[i] = new Button(); //这一句往往为初学者忽视,须知要创建对象的实例!btns[i].Location = new System.Drawing.Point(100 + 50 * (i % 3),100 + 50 * (i / 3));btns[i].Name = "btnTest";btns[i].Size = new System.Drawing.Size(48, 48);btns[i].Text = i.ToString();btns[i].Click += new System.EventHandler(this.btns_Click); //统一的事件处理this.Controls.Add(btns[i]); //在窗体上呈现控件}}private void btns_Click(object sender, System.EventArgs e){MessageBox.Show(((Button)sender).Text + " was clicked !"); //通过sender判断激发事件的控件}private void Form1_Load(object sender, System.EventArgs e){ShowButtonArray();}事实上,大家只要看一遍“Windows 窗体设计器生成的代码”,就很快能理解.Net创建并呈现控件的过程,从而写出简单的控件数组。

vb控件数组的习题及答案

vb控件数组的习题及答案

电子教室学生注册时姓名文本框部分请输入:如:11李四学号+姓名,中间不加空格)实验准备:请同学们删除d:\ex21 文件夹里面的内容如果没有ex21文件夹,请在d:\ 下新建ex21 文件夹1、打开D:\下的工程文件和窗体文件,按以下要求完成程序:在窗体上创建2个列表框、2个标签、2个命令按钮。

List1用于显示可选课程、List2用于显示已选课程。

单击“选课”按钮,将List1中选定的课程名称加入到List2中显示,单击“清空”按钮,将删除List2中的所有课程。

程序运行的参考输出格式如图A-4所示,可选课程至少包含图A-4所示的6门。

最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。

图A-42、打开D:\下的工程文件和窗体文件,按以下要求完成程序:在窗体上创建1个列表框、1个图片框、2个标签、2个命令按钮。

List1用于显示可选课程、Picture1用于显示已选课程。

单击“选课”按钮,将List1中选定的课程名称加入到Picture1中显示,单击“清空”按钮,将删除Picture1中的所有课程。

程序运行的参考输出格式如图B-4所示,可选课程至少包含图B-4所示的6门。

最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。

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

最后将工程文件、窗体文件按原文件名保存在D:\EX21文件夹下。

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

VB实验10 控件数组

VB实验10 控件数组

上一页
下一页
退 出
【分析】 创建控件数组后,在运行时使用 Load语句向 控件数组中添加控件,使用 Unload 语句删除在 运行时新增的控件。
第9 页 Visual Basic程序设计实验指导
实验10-2
目的和要求 预备知识
上一页
下一页
退 出
【实验步骤】 (1)界面设计 请参照图10-3所示的界面设计窗体。 (2)完善程序代码 ( 3 )运行程序,观察程序运行结果,最后将 窗体文件保存为 F10-2.frm ,工程文件保存为 P10-2.vbp。
第14页 Visual Basic程序设计实验指导
实验10-4
目的和要求 预备知识
【题目】 用筛选法找出1~100之间的所有素数,运行界面 如图所示。
上一页
下一页
退 出
第15页 Visual Basic程序设计实验指导
实验10-4
目的和要求 预备知识
【分析】
筛选法求出某一范围内的所有素数的思路为:首先在纸上 写出1~100的全部整数,然后逐一判断它们是否为素数,找出 一个非素数就把它们筛掉,最后剩下的就是结果。 具体操作如下: (1)先将1筛掉。 (2)用2去除它后面的每个数,把能被2整除的数筛掉。 (3)把3的倍数筛掉。 ( 4 )把 5 的倍数筛掉(注意 4 已经被筛掉,因为它是 2 的倍 数)。 …… 这个过程一直进行到除数为 Sqr(100)为止,最后剩下的就 是素数。
实验
目Байду номын сангаас和要求 预备知识
10
控件数组
上一页
下一页
退 出
第1 页 Visual Basic程序设计实验指导
一、目的和要求
目的和要求 预备知识

vb控件数组的使用

vb控件数组的使用

VB控件数组的使用一、什么是VB控件数组在VB编程中,控件是指用于构建用户界面的可视化元素,例如按钮、文本框、列表框等。

而控件数组是指将多个相同类型的控件组织在一起以便更方便地进行管理和操作。

二、为什么要使用VB控件数组使用控件数组可以带来许多好处,包括但不限于以下几点:1.简化代码:通过使用控件数组,我们可以减少代码的重复性,只需编写一次代码即可对数组中的所有控件进行操作。

这样可以大大简化代码的编写和维护工作。

2.提高效率:在某些情况下,我们需要对同一类型的多个控件进行相同或类似的操作。

使用控件数组可以避免重复性的操作,提高编程效率。

3.灵活性:控件数组可以动态增加或减少数组中的控件数量,从而使程序更具有灵活性和可扩展性。

4.统一管理:使用控件数组可以将同一类型的控件进行组织和管理,方便对其进行统一的控制和处理。

三、创建VB控件数组的方法在VB中,我们可以使用以下方法来创建和使用控件数组:1. 使用Control数组VB提供了一个叫做Control的特殊数组,可以容纳所有类型的控件。

我们可以通过声明Control类型的数组并将其初始化为特定类型的控件来创建控件数组。

例如,以下代码创建了一个名为btnArray的按钮数组:Dim btnArray() As Control = {btn1, btn2, btn3}其中btn1、btn2和btn3是已经存在于窗体上的按钮控件。

2. 动态创建控件数组除了使用Control数组外,我们还可以在运行时动态创建控件数组。

可以使用ReDim语句来调整数组的大小,并使用循环语句逐个初始化数组中的控件。

例如,以下代码使用循环创建了一个名为txtArray的文本框数组:Dim txtArray() As TextBoxDim i As IntegerReDim txtArray(2) '设置数组大小为3For i = 0 To 2txtArray(i) = New TextBox '创建新的文本框控件txtArray(i).Name = "txt" & (i + 1) '设置控件的名称Me.Controls.Add(txtArray(i)) '将控件添加到窗体上Next i在上述代码中,我们通过ReDim语句设置了txtArray数组的大小为3,并在循环中创建了3个新的文本框控件,并将其添加到窗体上。

vb控件数组的使用

vb控件数组的使用

vb控件数组的使用VB控件数组的使用在VB编程中,控件数组是一种非常有用的功能,它可以让我们更方便地对多个控件进行操作和管理。

控件数组允许我们将一组相同类型的控件组织在一起,并通过索引来访问它们,从而提高编程效率和代码的简洁性。

控件数组的定义非常简单,只需要在声明控件时加上一个方括号,用来表示这是一个控件数组。

例如,我们可以定义一个名为btnArray的按钮数组,代码如下:Dim btnArray(10) As Button上述代码定义了一个包含10个按钮的按钮数组。

我们可以通过索引来访问数组中的按钮,例如btnArray(0)表示第一个按钮,btnArray(1)表示第二个按钮,依此类推。

使用控件数组可以简化我们对多个控件的操作。

例如,如果我们想要给按钮数组中的所有按钮设置相同的属性,我们只需要使用一个循环来遍历数组,并对每个按钮应用相同的属性即可,代码如下:For i As Integer = 0 To btnArray.Length - 1btnArray(i).Text = "按钮" & (i + 1)btnArray(i).BackColor = Color.RedNext上述代码将按钮数组中的所有按钮的文本设置为"按钮1"、"按钮2"、"按钮3"等,并将它们的背景颜色设置为红色。

除了设置属性,控件数组还可以方便地管理多个控件的事件。

例如,如果我们想要为按钮数组中的所有按钮添加相同的点击事件处理程序,我们只需要使用一个循环来遍历数组,并为每个按钮添加相同的事件处理程序即可,代码如下:For i As Integer = 0 To btnArray.Length - 1AddHandler btnArray(i).Click, AddressOf btn_ClickNextPrivate Sub btn_Click(sender As Object, e As EventArgs)Dim btn As Button = DirectCast(sender, Button)MessageBox.Show("您点击了按钮:" & btn.Text)End Sub上述代码将为按钮数组中的所有按钮添加一个名为btn_Click的点击事件处理程序,当任何一个按钮被点击时,都会弹出一个消息框显示按钮的文本。

VB 控件数组

VB 控件数组

变量存储单个数据
控件数组
控件数组是由一组相同类型的控件组成 下标:控件的Index属性,Index从0开始 数组名:控件具有相同Name属性值 事件:共享同样的事件过程
Sub CmdName_Click(index as integer)
….
End Sub
控件数组的建立
在设计时建立
测试计算器
+、-、*、/各测一例 调试错误方法
输出中间变量,判断错误
如:print a 或者debug.print a,来验证a的值是否正确 测试完毕后,再删除这些输出语句
控件数组
目标
控件数组 计算器
回顾数组
数组是由一定数目的同类元素按一定顺序排列而 成的结构类型数据 数组是一组具有同一名字、不同下标的下标变量 一般形式:s(n),例如:s(3)
s 1.5 3.2 0.09 45.3987
3
2 1
数组元素
下标
元素在数组 中的位置
0
数组与普通变量
数组
连续空间,存储多个相同类型的数据 每个数据可以有统一的名称(类比于变量名称):数组 名(下标)
示例
1.当单击任意按钮后,在文本框中显示该按钮对 应的数字
简易计算器
基本思路
单击0~9的按钮输入第一个数 单击一个运算符 (+、-、*、/) 单击0~9的按钮输入第二个数 当用户单击=时,根据所选运算符进行计算,并在文本框显示结果
关键点
如何区分用户输入的是第一个数还是第二个数? 提示:设置flag 如何简化相同功能的代码? 提示:同一功能设成控件数组 如何判断单击了哪个数组元素? 提示:通过控件数组单击事件的参数,传递数组下标

在VB.NET中使用控件数组

在VB.NET中使用控件数组

在中使⽤控件数组控件数组是位于⼀个窗体上共享同⼀名称的⼀组同种类型控件。

普通控件仅使⽤名称就可以识别,⽽引⽤控件数组中的成员则需要同时使⽤名称和索引。

开发⼈员在 Visual Basic 6.0 以及更早的版本中使⽤控件数组主要有以下三个理由:1. 在循环中访问数组中控件的属性。

2. 向窗体动态添加新控件。

3. 允许⼀个事件例程与多个控件连接。

控件数组的使⽤,极⼤的⽅便了开发⼈员。

然⽽,刚刚从Visual Basic6.0(以下简称VB6.0)过渡到Visual (以下简称)的初学者却发现,在中似乎不能使⽤控件数组了。

笔者仔细查阅了的MSDN⽂档发现,在 中,确实不再⽀持控件数组。

原因是,对事件模型作了很⼤的改动,引⼊了另外⼀种数据类型――控件集合模型,使控件数组没有存在的必要。

就像VB6.0 中的控件数组可以共享事件⼀样, 中的事件模型允许任何事件处理程序都可以处理来⾃多个控件的事件,这就允许创建属于不同类型但共享相同事件的控件组。

所谓控件集合是指包含在⼀个容器中的所有控件的总和,能够创建控件集合的容器有:Form、Panel、GropBox等。

程序运⾏时,可以通过访问容器的Control属性来得到该容器中的所有控件。

下⾯将演⽰如何通过控件集合来使⽤控件数组:⼀、直接使⽤Form容器的控件集合来使⽤控件数组:建⽴⼀个项⽬,在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)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在中使用控件数组控件数组是位于一个窗体上共享同一名称的一组同种类型控件。

普通控件仅使用名称就可以识别,而引用控件数组中的成员则需要同时使用名称和索引。

开发人员在Visual Basic 6.0 以及更早的版本中使用控件数组主要有以下三个理由:1. 在循环中访问数组中控件的属性。

2. 向窗体动态添加新控件。

3. 允许一个事件例程与多个控件连接。

控件数组的使用,极大的方便了开发人员。

然而,刚刚从Visual Basic6.0(以下简称VB6.0)过渡到Visual (以下简称)的初学者却发现,在中似乎不能使用控件数组了。

笔者仔细查阅了的MSDN文档发现,在 中,确实不再支持控件数组。

原因是,对事件模型作了很大的改动,引入了另外一种数据类型――控件集合模型,使控件数组没有存在的必要。

就像VB6.0 中的控件数组可以共享事件一样, 中的事件模型允许任何事件处理程序都可以处理来自多个控件的事件,这就允许创建属于不同类型但共享相同事件的控件组。

所谓控件集合是指包含在一个容器中的所有控件的总和,能够创建控件集合的容器有:Form、Panel、GropBox等。

程序运行时,可以通过访问容器的Control属性来得到该容器中的所有控件。

下面将演示如何通过控件集合来使用控件数组:一、直接使用Form容器的控件集合来使用控件数组:建立一个项目,在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完全不同;集合中的下标顺序是按照加入控件的顺序倒排的;中控件数组的特点让人稍感不适的是,控件数组的下标是按加入顺序的倒排续产生的,但程序员完全可以改变这个顺序:在代码编辑窗中点击“#Region " Windows 窗体设计器生成的代码”旁边的“+”号,代码展开后,找到如下代码:Me.Controls.Add(Me.Button1)Me.Controls.Add(Me.TextBox3)Me.Controls.Add(Me.TextBox2)Me.Controls.Add(Me.TextBox1)这个代码顺序就是控件数组的下标顺序,只要改变这个顺序就可以改变控件数组中每个以元素的下标。

在Form中构成控件数组非常方便,但也有一个小问题:一般来说,Form中的控件往往有很多种,系统建立控件集合的时候将会把其中的所有控件放在同一个集合中,这样一来,程序员在写代码的时候有可能将每一个控件的下标混淆,为了解决这个问题,可以用Panel容器来根据需要将某类控件建立成控件数组,也就避免了上述问题。

建立的方法非常简单:只需要在Form中添加一个Panel控件,然后将需要建立控件数组的控件加入其中即可,然后用:Panel.Control.Item(n)来访问其中的每一个控件。

二、用代码建立控件集合。

建立一个项目,在Form中添加三个TextBox和一个Button控件,在代码编辑窗口中输入如下代码:Dim TextboxArray As New ArrayList …定义一个数组例表Private Sub BiuldTextBoxArray() …过程用来将Form上的三个TextBox加入到数组例表中TextboxArray.Add(TextBox1)TextboxArray.Add(TextBox2)TextboxArray.Add(TextBox3)End Sub…让Form在启动的时候将三个TextBox控件加入到数组例表中,构成控件数组。

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.LoadBiuldTextBoxArray()End Sub…编写Button点击事件代码,利用控件数组访问三个TextBox控件Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickTextboxArray(0).text = "文本框第一个元素"TextboxArray(1).text = "文本框第二个元素"TextboxArray(2).text = "文本框第三个元素"End Sub运行工程,点击Button,发现三个TextBox都被修改了,效果和前面的方法一样。

三、在程序中动态添加控件数组。

前面定义的控件数组都是在设计阶段完成的,它要求,控件数组中的控件数量必须已知,也叫静态控件数组;但很多时候要求,控件数组中的控件数量要用程序的某些运行情况来确定,这就要求,控件数组中的控件要能实现动态添加。

建立一个工程,在Form上添加两个Button,其中,Button1用来添加动态控件数组;Button2用来修改数组中每个控件的属性。

在代码编辑窗口中输入如下代码:Dim List As New ArrayList …定义一个例表对象,用来集合数组控件Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.ClickDim i As IntegerFor i = 0 To 4 …利用循环语句动态加入控件数组。

Dim FirstTextBox As New TextBox …定义文本框对象Me.Controls.Add(FirstTextBox) …将一个文本框控件加入到Form上List.Add(FirstTextBox) …将文本框控件加入到例表集合中List.Item(i).top = i * List.Item(i).height + 20 …修改新加入控件在Form上的位置List.Item(i).left = 100FirstTextBox.TabIndex = i …修改新加入控件的TabIndex值List.Item(i).text = "TextBox" &i.ToString …修改默认文本。

NextEnd Sub用循环来访问动态控件数组中的控件。

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.ClickDim i As IntegerFor i = 0 To 4List.Item(i).text = "第" &i.ToString& " 个元素"NextEnd Sub运行项目,先点击Button1,Form上将出现5个文本框,然后再点击Button2,修改这五个文本框的Text 属性。

从这个实例看出,中动态加入控件数组与在VB6.0中实现动态数组有一个显著的不同:VB6.0中必须要有一个静态的“控件种子”,而在中已经不需要了。

四、控件数组的事件响应。

控件数组的最重要的特色之一就是让一组控件响应同一个事件,在事件例程中接收控件具体某控件的Index 值来分别处理处理具体问题,这点已经在VB6.0中表现得淋漓尽致了,它在中同样可以实现,只不过实现方式有了变化。

由于在容器中的每一个控件只要不作特殊处理,都会自动构成了控件集合,这样,只要对原有的事件例程作少量修改,就可以非常方便的实现用一个事件例程响应某个集合中所有控件产生的事件。

下面演示实现用同一个例程来处理两个Button和一个TextBox发出的Click事件。

建立一个项目,在Form上添加两个Button,和一个TextBox。

在代码编辑窗口中点击“#Region " Windows 窗体设计器生成的代码”旁边的“+”号,代码展开后,找到如下代码并调整为下面的顺序:Me.Controls.Add(Me.TextBox1)Me.Controls.Add(Me.Button1)Me.Controls.Add(Me.Button2)输入如下代码:Private Sub mControl_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click, Button2.Click, TextBox1.ClickSelect Case sender.tabindexCase 0MessageBox.Show("你点击了Button1 按钮")Case 1MessageBox.Show("你点击了Button2 按钮")Case 2MessageBox.Show("你点击了TextBox1 按钮")End SelectEnd Sub在这段代码中:Private Sub mControl_Click(ByVal sender As System.Object, ByVal e AsSystem.EventArgs) Handles Button1.Click, Button2.Click, TextBox1.Click 是一个自定义事件,在Handles 后面的语句表示:该例程将响应Button1, Button2, TextBox1控件发出的Click事件,如果还有其他控件,也可以放在后面,每一个控件名称用“,”号隔开。

相关文档
最新文档