Creazione di una sottoscrizione

È possibile creare una sottoscrizione all'interno del metodo
Start()
.
MANCIA:
Per inserire automaticamente un nuovo metodo:
  • In Visual Studio posizionare il cursore di inserimento dopo l'operatore
    +=
    e premere
    TAB
    due volte.
  • In Visual Studio Code, fare riferimento ai suggerimenti dell'editor.

Esempio

In questo esempio, il metodo
Session_UserChange
viene registrato per l'evento di modifica dell'utente utilizzando il gestore eventi
UserChange
e l'operatore
+=
.
public override void Start() { Session.UserChange += Session_UserChange; }
IMPORTANTE: Annullare sempre la sottoscrizione all'interno del metodo
Stop()
, per evitare consumo di memoria. Vedere Annullamento di una sottoscrizione.
L'esempio seguente mostra il metodo
Session_UserChange
.
private void Session_UserChange(object sender, UserChangeEventArgs e) { Log.Info(e.newUser.BrowseName); }
sender
L'oggetto
IUAObject
che corrisponde all'origine del nodo dell'evento.
e
L'oggetto C# che contiene i dati evento in base al tipo di dati del gestore eventi (
UserChangeEventArgs
nell'esempio).

Gestori eventi

A seconda del tipo di evento, creare una sottoscrizione utilizzando diversi gestori eventi.
Evento cambiamento del valore di una variabile
Per sottoscrivere un metodo al cambio valore di una variabile, usare il gestore eventi
VariableChange
, fornito dalla classe
IUAVariable
. Vedere IUAVariable.VariableChange.
Tutti gli eventi generati da un oggetto
Per sottoscrivere un metodo per tutti gli eventi generati da un oggetto, utilizzare il gestore eventi
UAEvent
, fornito dalla classe
IUAObject
. Vedere IUAObject.UAEvent.
Un evento specifico di un oggetto
Per sottoscrivere un metodo per un evento specifico generato da un oggetto, utilizzare il gestore eventi corrispondente fornito dal tipo. Per ulteriori informazioni sui gestori eventi di tipo, vedere Riferimento su oggetti e variabili.
In questo esempio, il gestore eventi
OnMouseClick
esegue il metodo
Button2_OnMouseClick
ogni volta che viene premuto
Button2
. Il gestore eventi
OnMouseClick
è fornito dalla 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; }
Fornire un feedback
Hai domande o feedback su questa documentazione? invia il tuo feedback qui.