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