Corso Visual Basic – Lezione n.4

Argomenti:

Introduzione

In questa lezione, approfondiremo alcune nozioni sulla progettazione di un’interfaccia grafica GUI in Visual Basic con il software di sviluppo Visual Studio 2019.
In particolare l’attenzione sarà rivolta alla creazione di un’interfaccia grafica che includa fra gli altri controlli standard di Windows una casella combinata.
La casella combinata detta anche “Combobox” è un controllo di input e output che in modo dinamico può essere utilizzata sia per inserire dati che per visualizzare dati.

Link di sponsorizzato

Progettazione dell’applicazione

Per creare un progetto scegliere File, Nuovo Progetto, “.Net Core”, “Visual Basic”, “Windows Form”, l’ambiente di sviluppo crea un’interfaccia Form che sarà disegnata dall’utente come riportato sotto.


Intefaccia grafica del nostro progetto
Interfaccia del progetto

In quest’interfaccia è presente una casella combinata, quattro pulsanti, una casella di testo, e due etichette. Per inserire i controlli nel Form occorre selezionare la casella degli strumenti standard di Visual Basic presente nella parte finestra dell’interfaccia di Visual Studio, come mostrato in figura.

Parte della casella degli strumenti stanard di Visual Studio


La nostra applicazione permetterà mediante la pressione del pulsante “btnaggiungi” di inserire dei numeri nella casella combinata,.
In seguito attraverso il pulsante “btncalcola” verrà eseguita la somma dei numeri presenti nella casella combinata e il risultato visualizzato nella casella di testo. Il pulsante “btncancella” cancellerà all’occorrenza tutti i valori nella casella combinata, mentre il pulsante “btnfine” terminerà il programma.
I nomi dei pulsanti sono attribuiti alla proprietà “Name” di ciascun controllo che rappresenta il nome dell’oggetto che sarà utilizzato nel codice.
Le etichette dei pulsanti e delle due etichette “Label1” e “Label2” verranno modificate durante l’avvio del programma a “run-time”.
Per definire la proprietà “Name” di ogni controllo, selezionare sull’interfaccia del Form il controllo e poi attraverso la finestra di ispezione proprietà è possibile modificare questa e tantissime altre proprietà come mostrato in figura.

Finestra di ispezione proprietà.
Finestra ispezione proprietà

Il codice del progetto

Il codice del nostro progetto tutto nella stessa classe è:

Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        btnaggiungi.Text = "Aggiungi"
        btncancella.Text = "Cancella"
        btnfine.Text = "Fine"
        btncalcola.Text = "Calcola"
        Label1.Text = "Elementi:"
        Label2.Text = "Risultati"
        Label3.Text = "Programma per il calcolo della somma"
    End Sub

    Private Sub btnaggiungi_Click(sender As Object, e As EventArgs) Handles btnaggiungi.Click
        Dim x As Integer
        x = CInt(InputBox("Inserisci dati:", "Richiesta inserimento"))
        cmbelementi.Items.Add(x)
    End Sub

    Private Sub btncalcola_Click(sender As Object, e As EventArgs) Handles btncalcola.Click
        Dim totale As Integer = 0
        Dim j As Object
        For Each j In cmbelementi.Items
            totale = CInt(j) + totale
        Next
        txtr.Text = totale
        cmbelementi.Text = totale
    End Sub

    Private Sub btncancella_Click(sender As Object, e As EventArgs) Handles btncancella.Click
        cmbelementi.Items.Clear()
    End Sub

    Private Sub btnfine_Click(sender As Object, e As EventArgs) Handles btnfine.Click
        MsgBox("Arrivederci", vbOKOnly, "Avviso")
        Me.Close()
    End Sub
End Class

Il codice prevede l’evento “Load” del Form ove sono inizializzate le proprietà dei controlli; infatti è utilizzato il metodo “Text” per impostare per ogni controllo l’etichetta. L’evento Load è il primo evento all’avvio dell’applicazione che si verifica. L’evento click sul pulsante di etichetta “Aggiungi” per intederci quello con Name “btnaggiungi” chiede mediante una finestra di dialogo all’utente l’inserimento di un numero. Tutto quello che viene inserita nella finestra di dialogo deve essere convertito mediante un cast esplicito in intero utilizzando la funzione “CInt”.
In seguito attraverso il metodo “Add(elemento)” è inserito il valore nella casella combinata riconvertito in stringa in modo implicito.

Il ciclo for Each .. Next

La parte dell’evento click del pulsante di etichetta “Calcola” prevede un ciclo “for Each .. Next” che in questo caso viene utilizzato per selezionare in modo ripetitivo degli elementi di una collezione. In questo caso la collezione sono gli “Items” ovvero l’insieme degli elementi della casella combinata. Definita una variabile riferimento di tipo Oggetto, è possibile utilizzare quest’ultima come se fosse un contatore del ciclo per selezionare all’interno della collezione un singolo “Item” (elemento).
Una volta selezionato mediante un cast esplicito viene convertito in un numero intero e effettuata la somma. Il ciclo termina quando gli elementi della collezione sono stati tutti selezionati. E viene stampato il risultato nella TextBox. Gli altri due eventi click sono legati al pulsante di etichetta “Cancella” che sfrutta il metodo “Clear()” per cancellare tutti gli elementi nella casella combinata, e per il pulsante di etichetta “Fine” che esce dal programma dopo aver visualizzato una MessageBox con un messaggio di saluto,

Video della lezione