学习啦 > 知识大全 > 知识百科 > 百科知识 > 什么是控件数组控件数组的概述(2)

什么是控件数组控件数组的概述(2)

时间: 谢君787 分享

学习啦在线学习网什么是控件数组控件数组的概述

  删除对象

  运行时可以使用Unload函数删除控件数组中运行时创建的控件,但设计时创建的控件不能删除。如:

  UnloadCommand(1)

  Unload函数语法与Load函数语法相似。

  属性概述

学习啦在线学习网   每个控件数组本身都有4个属性,这4个属性都是设计时无效、运行时只读的;而一个单独的控件还有和控件数组相关的Index属性。

  Count属性

  Object.Count As Long

学习啦在线学习网   返回控件数组中的元素个数。

  Item属性

  Object.Item (IndexAs Integer) As Object

  返回控件数组中指定下标的控件,相当于Object(IndexAs Integer) As Object。

  LBound和UBound属性

  Object.LBound As Integer

  Object.UBound As Integer

  返回控件数组中下标的最小值(LBound)或最大值(UBound)。

  Index属性

  Object.Index As Integer

学习啦在线学习网   (0≤Object.Index≤32767)

学习啦在线学习网   这个属性应用于控件数组中的一个控件,作用是返回或设计时设置控件在其控件数组中的下标,仅当Object属于某一控件数组时有效。

  示例

学习啦在线学习网   已有一个名为“Commands”的Command控件数组,其中有一大小为900缇×450缇的Commands(0)控件。运行时单击Commands(0),则向控件数组中添加一个新控件并显示在前一个控件下方75缇处,Caption属性为其Index属性值;单击其他控件时,则从控件数组中删除该控件。

  PrivateSubCommands_Click(IndexAsInteger)WithCommandsIfIndex=0ThenIf.UBound=32767ThenExitSubLoad.Item(.UBound+1).Item(.UBound).Caption=.UBound.Item(.UBound).Top=(75+450)*.UBound+75.Item(.UBound).Visible=TrueElseUnload.Item(Index)EndIfEndWithEndSub

  这里用到了With语句,在With ... End With语句块中可以省略“Commands”标识符而直接引用其属性。

  控件数组的优点

  一方面,使用控件数组所占用的资源比单独添加每个控件所占用的资源更少,另一方面,因为控件数组的事件可以共享,如果要使多个同类型控件在一个事件中执行相同或类似的代码,使用控件数组比单独创建多个控件更方便,代码也更容易维护。

  例如,在一个窗体中有若干个Command控件,显示的内容是从1开始编号,要让用户单击某按钮时,弹出一个窗口显示其编号的平方,若不使用控件数组,则要为Command1、Command2、……、Command10控件一一添加Click事件的代码;如果日后要调整显示内容,则要一一修改每个控件的代码,非常繁琐。而控件数组就能用类似下面的代码很好地解决这个问题:

  PrivateSubCommands1_Click(IndexAsInteger)

学习啦在线学习网   MsgBoxIndex^2

  EndSub
学习啦在线学习网 看过“控件数组的概述”的人还看了:

1.行列式的定义 行列式的定义是什么

2.c语言中什么是数组

3.

4.VB教程视频:图形控件

5.VB视频教程:边框类型

1963214