文档

event.Listener

定义侦听器对象的类

句法

LH= event.listener(Hobj,'EventName',@callbackfunction

描述

event.Listener类定义侦听器对象。侦听器对象响应指定的事件,并在触发事件时标识要调用的回调函数。

LH= event.listener(Hobj,'EventName',@callbackfunction创建一个event.Listenerobject,LH,对于命名的活动EventName,在指定的对象上霍布

如果霍布是一个对象手柄的数组,侦听器在数组中引用的任何对象上响应命名事件。

侦听器回调函数必须至少接受两个输入参数。例如,

功能callbackfunction(源,eventData)...结尾

在哪里资源是事件来源的对象,EventData是一个event.eventdataobject.

event.Listener班级是处理班级。这event.ListenerEvent.Proplistener课程是同一异构层次结构的一部分。因此,您可以创建包含两个类的对象的数组。包含两个对象的数组的类是event.Listener

限制听众生命周期

您可以使用event.Listener类构造函数或使用AddListener

当您使用听众使用AddListener,事件源对象对侦听器有一个引用。当源被摧毁时,Matlab®也破坏了听众。您无需存储对侦听器对象的引用即可管理其生命周期。

当您使用听众使用event.Listener,听众的生命周期未与事件源结合在一起。由于事件源对象没有对侦听器的引用,因此您对侦听器生命周期有更多的控制。但是,如果侦听器对象不存在范围,则听众不再存在。

有关听众生命周期的更多信息,请参阅侦听器生命周期

删除听众

如果您打电话删除(LH)在侦听器对象上,侦听器停止存在,这意味着事件不再导致侦听器回调函数执行。

禁用听众

您可以通过设置听众的价值来启用或禁用听众已启用property (see the following Properties table).

有关事件和听众的更多信息

事件有关如何使用事件和听众的更多信息和示例。

特性

财产 目的
Source 源对象的单元格数组
EventName 事件的名称
Callback 触发事件时要执行的功能已启用属性设置为真正的
已启用 回调executes when the event occurs if and only if已启用被设定为真正的(默认值)。
递归

什么时候错误的(默认值),此侦听器不会递归执行。因此,如果回调触发自己的事件,则听众不会再次执行。

什么时候真正的,侦听器回调可能会导致触发回调的事件。该方案可以导致无限递归,当MATLAB递归极限最终触发错误时,该递归结束。

在R2008A中引入

这个话题有帮助吗?