Crear una suscripción
Cree una suscripción dentro del método
Start()
.
CONSEJO:
Para insertar un nuevo método automáticamente:
- En Visual Studio, coloque el símbolo de intercalación después del operador+=y pulsedos veces.TAB
- En Visual Studio Code, consulte las sugerencias del editor.
Ejemplo
En este ejemplo, el método
Session_UserChange
se suscribe al evento de cambio de usuario mediante el controlador de eventos UserChange
y el operador +=
.public override void Start() { Session.UserChange += Session_UserChange; }
IMPORTANTE:
Cancele siempre la suscripción en el método
Stop()
para evitar una fuga de memoria. Consulte Cancelar una suscripción.El siguiente ejemplo muestra el método
Session_UserChange
.private void Session_UserChange(object sender, UserChangeEventArgs e) { Log.Info(e.newUser.BrowseName); }
- sender
- El objetoIUAObjectque corresponde al origen del nodo del evento.
- e
- El objeto C# que contiene los datos de evento en función del tipo de datos del controlador de eventos (UserChangeEventArgsen el ejemplo).
Controladores de eventos
En función del tipo de evento, cree una suscripción usando distintos controladores de eventos.
- Cambio de valor de un evento de variable
- Para suscribir un método al cambio de valor de una variable, utilice el controlador de eventosVariableChangeproporcionado por la claseIUAVariable. Consulte IUAVariable.VariableChange.
- Todos los eventos generados por un objeto
- Para suscribir un método a todos los eventos generados por un objeto, utilice el controlador de eventosUAEventproporcionado por la claseIUAObject. Consulte IUAObject.UAEvent.
- Un evento específico de un objeto
- Para suscribir un método a un evento específico generado por un objeto, utilice el controlador de eventos correspondiente proporcionado por el tipo.En este ejemplo, el controlador de eventosOnMouseClickejecuta el métodoButton2_OnMouseClickcada vez que se pulsaButton2. El controlador de eventosOnMouseClickes proporcionado por la claseButton.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; }
Entregue su opinión