Skip to content

RaiseEventByName

按名称在对象上引发事件,事件参数作为Variant数组提供。RaiseEventByName是twinBASIC新增项;编译时的等价物是RaiseEvent语句,它要求在编写代码时已知事件名称。

语法:RaiseEventByName( object , procname [ , argsarray ] )

object
必需 Object。要在其上引发事件的对象。该对象必须声明具有匹配procname且元数与argsarray中项数匹配的公共事件。
procname
必需 String。要引发的事件的名称。
argsarray
可选 Variant。包含传给事件处理程序的参数的一维数组,按声明顺序。对于不带参数的事件,传入未初始化的Variant

返回Variant。返回值是处理程序在最后一个ByRef事件参数中留下的值——仅当事件具有ByRef"输出"或"取消"参数时有意义。

INFO

此函数的可变长度参数变体——RaiseEventByName2——通过ParamArray直接接受参数,当事件签名固定时通常更易读。当参数列表本身是动态构建时,使用RaiseEventByName

如果procname不匹配object上声明的任何事件,或提供的元数与事件声明不匹配,则产生运行时错误。

示例

vb
Dim Args(0) As Variant
Args(0) = "Some argument value"
RaiseEventByName MyControl, "ValueChanged", Args

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有