创建订阅

可在
Start()
方法中创建订阅。
小贴士:
要自动插入新方法,请执行以下操作:
  • 在 Visual Studio 中,将脱字符号放在运算符
    +=
    后面,然后按
    两次。
  • 在 Visual Studio 代码中,请参见编辑器建议。

示例

在本示例中,在用户更改事件中通过使用
UserChange
事件处理程序和
+=
运算符来订阅
Session_UserChange
方法。
public override void Start() { Session.UserChange += Session_UserChange; }
重要提示: 为了避免内存泄露,始终在
Stop()
方法中取消订阅。请参见取消订阅
以下示例显示了
Session_UserChange
方法。
private void Session_UserChange(object sender, UserChangeEventArgs e) { Log.Info(e.newUser.BrowseName); }
sender
与事件节点来源相对应的
IUAObject
对象。
e
包含事件数据的 C# 对象,这些数据基于事件处理程序的数据类型(在本示例中为
UserChangeEventArgs
)。

事件处理程序

根据事件类型,使用不同的事件处理程序创建订阅。
变量事件的值变化
要为变量的值变化订阅方法,请使用由
IUAVariable
类提供的
VariableChange
事件处理程序。请参见IUAVariable.VariableChange
由对象生成的所有事件
要为某个对象生成的所有事件订阅方法,请使用由
IUAObject
类提供的
UAEvent
事件处理程序。请参见IUAObject.UAEvent
对象的特定事件
要为某个对象生成的特定事件订阅方法,请使用由类型提供的相应事件处理程序。
在本示例中,
OnMouseClick
事件处理程序会在每次按下
Button2
时运行
Button2_OnMouseClick
方法。
OnMouseClick
事件处理程序由
Button
类提供。
public override void Start() { var button2 = Owner.Get<Button>("Button2"); button2.OnMouseClick += Button2_OnMouseClick; } private void Button2_OnMouseClick(object sender, MouseClickEvent e) { var label2 = Owner.Get<Label>("Label2"); var button = (Button)sender; label2.Text = "Mouse click event on " + button.BrowseName; }
提供反馈
对本文档有问题或反馈吗? 请在这里提交您的反馈