创建订阅
可在
Start()
方法中创建订阅。
小贴士:
要自动插入新方法,请执行以下操作:
- 在 Visual Studio 中,将脱字符号放在运算符+=后面,然后按两次。TAB
- 在 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)。
事件处理程序
根据事件类型,使用不同的事件处理程序创建订阅。
- 变量事件的值变化
- 由对象生成的所有事件
- 对象的特定事件
- 要为某个对象生成的特定事件订阅方法,请使用由类型提供的相应事件处理程序。在本示例中,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; }
提供反馈