Criar assinatura

Você cria a assinatura dentro do método
Start()
.
DICA:
Para inserir um novo método automaticamente:
  • No Visual Studio, coloque o símbolo de “V” (caret) após o operador
    +=
    e pressione duas vezes
    .
  • No Visual Studio Code, consulte as sugestões do editor.

Exemplo

Neste exemplo, o método
Session_UserChange
é inscrito no evento de alteração do usuário usando o manipulador de eventos
UserChange
e o operador
+=
.
public override void Start() { Session.UserChange += Session_UserChange; }
IMPORTANTE: Sempre cancele a assinatura no método
Stop()
para evitar perda de memória. Consulte Cancelar uma assinatura.
O exemplo a seguir mostra o método
Session_UserChange
.
private void Session_UserChange(object sender, UserChangeEventArgs e) { Log.Info(e.newUser.BrowseName); }
sender
Objeto
IUAObject
que corresponde à origem do nó do evento.
e
Objeto C# que contém os dados do evento com base no tipo de dados do manipulador de eventos ( no exemplo,
UserChangeEventArgs
).

Manipuladores de evento

Dependendo do tipo de evento, crie uma assinatura usando diferentes manipuladores de eventos.
Alteração de valor de um evento de variável
Para inscrever um método para a alteração de valor de uma variável, use o manipulador de eventos
VariableChange
, fornecido pela classe
IUAVariable
. Consulte IUAVariable.VariableChange.
Todos os eventos gerados por um objeto
Para inscrever um método para todos os eventos gerados por um objeto, use o manipulador de eventos
UAEvent
, fornecido pela classe
IUAObject
. Consulte IUAObject.UAEvent.
Evento específico de um objeto
Para inscrever um método para um evento específico gerado por um objeto, use o manipulador de eventos correspondente fornecido pelo tipo.
Neste exemplo, o manipulador de eventos
OnMouseClick
executa o método
Button2_OnMouseClick
sempre que
Button2
é pressionado. O manipulador de eventos
OnMouseClick
é fornecido pela classe
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; }
Dê sua opinião
Tem dúvidas ou comentários sobre esta documentação? Por favor, envie seu comentário aqui.