Script C# ‘Hello World’ su Label in Runtime

Lo scopo del tutorial è quello di mostrare l’utilizzo di uno script C# che imposti la scritta “Hello World” su un’etichetta nell’interfaccia utente in risposta ad un Evento clic di un pulsante.

Preparazione dell’ambiente di lavoro

Aprire l’ambiente di sviluppo, all’altezza dell’icona Project in alto a sinistra, selezionare New HMI Project; sotto la descrizione Name digitare ‘HelloWorldProject’.

Espandere il livello interfaccia utente, posizionarsi su MainWindow (type), effettuare clic con il tasto destro e selezionare New >> Controlli base >> Pulsante.

Con il cursore spostarsi sul sottostante Button1, selezionarlo e, nel Pannello proprietà, popolare il campo della proprietà Testo con ‘Execute Script’.

Dal Pannello di progetto spostarsi nuovamente su MainWindow, fare clic con il tasto destro e selezionare New >> Controlli base >> Label per aggiungere l’Etichetta sulla quale verrà generata la scritta ‘Hello World’.

Dalle proprietà dell’ Etichetta popolare il campo Testo con Label Target. Fare doppio clic su MainWindow e disporre nello spazio di lavoro il Pulsante e l’Etichetta.

NetLogic

Dal Pannello di progetto spostarsi su NetLogic, fare clic con il tasto destro del mouse, seguire il percorso New >> NetLogic di runtime, fare doppio clic su NetlogicDiRuntime1 e attendere l’avvio di Visual Studio; in seguito selezionare sulla destra NetlogicDiRuntime1.cs, inserire il seguente codice e salvare.

public class RuntimeScript1 : BaseNetLogic
{
    [ExportMethod]
    public void SetLabelTextToHelloWord(NodeId labelNodeId)
    {
        var label = InformationModel.Get<Label>(labelNodeId);
        label.Text = "Hello World!";
    }
}

Spostarsi nuovamente su Interfaccia utente >> MainWindows >> Button1 e dal Pannello eventi aggiungere come MouseClickEvent lo script di HelloWorld, seguendo il percorso Scripts >> RuntimeScript1 >> SetLabelTextToHelloWorld. Creare ora un collegamento dinamico tra l’argomento dell’input labelNodeld e Label1.

Eseguire il progetto.

Scarica il progetto di esempio da qui.