Functions.RaiseEvent 方法 | |
-- todo --
您可以使用 RaiseEvent( ) 从自定义方法中引发或触发事件。虽然 RaiseEvent( ) 主要适用于
自定义方法,但您也可以用它来引发原生事件和方法。
命名空间:
XSharp.VFP
程序集:
XSharp.VFP (在 XSharp.VFP.dll 中) 版本:2.22 GA
语法 FUNCTION RaiseEvent(
oEventSource,
cEvent,
_args
) AS LOGIC CLIPPER
[ClipperCallingConventionAttribute(new string[] { ... })]
public static bool RaiseEvent(
__Usual oEventSource = default,
__Usual cEvent = default,
__Usual _args = default
)
查看代码参数
- oEventSource (Optional)
- 类型:__Usual
指定事件源,必须是有效的 X# 对象。
- cEvent (Optional)
- 类型:__Usual
指定要引发的事件、方法或属性的名称。
- _args (Optional)
- 类型:__Usual
返回值
类型:
Boolean
逻辑数据类型。
RaiseEvent( ) 始终返回 True (.T.)。
备注
对于使用
BINDEVENT( ) 绑定到对象的自定义方法,如果直接调用这些方法,X# 会自动引发事件。
例如,以下代码不会引发事件:
相反,要为自定义方法引发事件,您需要进行以下调用:
1RaiseEvent( oForm, "GetMyData", cData )
您也可以通过使用
BINDEVENT( ) 并将 nFlags 设置为 2 或 3 来改变这种行为。
您希望引发的事件必须标记为
Public,而不是
Hidden 或
Protected。
如果您在属性上使用
RaiseEvent( ),X# 会将属性设置为其自身。
以下示例将
_SCREEN 的
Caption 属性设置为
Caption 的当前值:
1RaiseEvent( _SCREEN, "Caption" )
如果您绑定到一个事件(例如,使用
BINDEVENT( ))并且该事件的参数是通过引用传递的,那么引发该事件将会失败。
X# 会忽略在同一引发事件内对该事件的递归
RaiseEvent( ) 调用。
示例 1RaiseEvent( Form1, "Activate" )
参见