请问 VB 里面 Collection 的用法?

asciiman 2002-04-20 09:56:04
Collection 好象是"集合"?
...全文
2999 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
lion_wing 2002-04-21
  • 打赏
  • 举报
回复
Collection是一个类
xxlroad 2002-04-20
  • 打赏
  • 举报
回复
下列示例使用 Collection 及 Count 属性返回当前活动的工程共有多少对象,如同视其为对象的集合。

Debug.Print Application.VBE.ActiveVBProject.Collection.Count
redsoft 2002-04-20
  • 打赏
  • 举报
回复
Collection对象提供了简便方法,直截了当将一组相关的项目视为单一对象来引用。集合中的项目或成员被这样一个事实联系起来:它们都属于这个集合。集合的成员不一定都是同一种数据类型的。建立集合的方法与建立其它对象的方法一样。例如:DimXAsNewCollection一旦建立集合之后,就可以用Add方法添加成员,用Remove方法删除成员。在用ForEach...Next语句重复整个集合时,可以用Item方法从集合返回特定成员。
uguess 2002-04-20
  • 打赏
  • 举报
回复
Collection 对象关键字总结


作用 关键字
建立一个 Collection 对象。 Collection
添加对象到集合对象中。 Add
从集合对象中删除对象。 Remove
引用集合对象中的项。 Item

uguess 2002-04-20
  • 打赏
  • 举报
回复
Collection 对象关键字总结


作用 关键字
建立一个 Collection 对象。 Collection
添加对象到集合对象中。 Add
从集合对象中删除对象。 Remove
引用集合对象中的项。 Item

water_j 2002-04-20
  • 打赏
  • 举报
回复

Collection 对象


Collection 对象是项目所组成的有序集合,可以把这个集合作为单元来引用。

说明

Collection 对象提供了简便方法,直截了当将一组相关的项目视为单一对象来引用。集合中的项目或成员被这样一个事实联系起来:它们都属于这个集合。集合的成员不一定都是同一种数据类型的。

建立集合的方法与建立其它对象的方法一样。例如:

Dim X As New Collection

一旦建立集合之后,就可以用 Add 方法添加成员,用 Remove 方法删除成员。在用 For Each...Next 语句重复整个集合时,可以用 Item 方法从集合返回特定成员。


Collection 对象示例
本示例建立一个命名为 MyClasses 的 Collection 对象,再建立一个对话框,让用户可从对话框中将对象建立到该集合对象中。若要观察程序如何工作,请先在“插入”菜单上选择“类模块”命令,然后在 Class1 的模块级中声明一个公用变量,命名为 InstanceName(类型为 Public InstanceName),此变量用来保存每个类实例的名称。不要更改类的缺省名称 Class1。将下列代码复制到另一个模块的“通用”节中,然后在另一个过程中用 ClassNamer 语句使它启动激活。(本示例仅使用支持类的主机应用程序。)

Sub ClassNamer()
Dim MyClasses As New Collection ' 建立一个集合对象(Collection)。
Dim Num ' 计数用变量,用来对对象的个数计数。
Dim Msg As String ' 提示信息用变量。
Dim TheName, MyObject, NameList ' 对象信息用变体。
Do
Dim Inst As New Class1 ' 建立 Class1 的新实例。
Num = Num + 1 ' 把计数变量 Num 加一,然后要求输入新对象个体的名称。
Msg = "Please enter a name for this object." & Chr(13) _
& "Press Cancel to see names in collection."
TheName = InputBox(Msg, "Name the Collection Items")
Inst.InstanceName = TheName ' 将名称送入对象实例。
' 若用户输入了名称,将它加入集合。
If Inst.InstanceName <> "" Then
' 将命名的对象加入集合。
MyClasses.Add item := Inst, key := CStr(Num)
End If
' 清除当前的引用,为对下一个对象做准备。
Set Inst = Nothing
Loop Until TheName = ""
For Each MyObject In MyClasses ' 建立名称列表。
NameList = NameList & MyObject.InstanceName & Chr(13)
Next MyObject
' 将名称列表在消息框中显示出来。
MsgBox NameList, , "Instance Names In MyClasses Collection"

For Num = 1 To MyClasses.Count ' 从集合中删除名字。
MyClasses.Remove 1 ' 因为每删除一个对象后,集合
' 会自动重排顺序,故每次迭代时只需删除第一个
Next ' 对象即可。
End Sub

7,789

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧