vb集合类接收子类事件时,给集合类赋值应注意的一个定义

一般会使用,下面的方式给集合类赋值,但这种情况只是针对collectoin对象,不会激发子类的Event
for i=1 to nCount
    oCols(i).property1=abc
Next
所以在集合类的赋值应该改为
dim aObj as cSubClass1
for i=1 to nCount
    set aObj=oCols(i)
    aObj.property1=abc
Next
这样在子类中的所有事件都可以被触发。
所有以上的前提是在集合类定义时,需要把子类定义为类变量,如:
Dim WithEvents objNewMember As cSItem
接收子类的事件必须定义
sub objNewMember_事件名称(param1...)
End sub
以下。。。
Public Function Add(PO As String,...)
End function
。。。

原文地址:https://www.cnblogs.com/linbaba/p/600319.html