Esempio riepilogativo

    

    L'esempio seguente, utilizza alcuni dei controlli descritti nelle sessioni precedenti. Creiamo una nuova UserForm come illustrato in figura e definiamo le proprietà degli oggetti appena creati come riportato in tabella.
    Name Caption TabIndex
    FrmOggetti Prova Oggetti  
    CboUno   0
    LstUno   1
    LstDue   2
    CmdAggiungi Aggiungi >> 3
    CmdRimuovi <<Rimuovi 4
    CmdCancella Cancella Tutto 5
    CmdEsci Esci 6
    ChkDisabilita Disabilita spostamenti 7
    *La proprietà TabIndex è utile per spostare velocemente il cursore da un oggetto ad un altro usando il tasto Tabulatore (Tab). Il numero indica l'ordine di spostamento.
    Di seguito sono riportate le routine da inserire nel modulo di codice associato alla UserForm "FrmOggetti".
    La Routine è associata alla casella combinata "CboUno". Quando la casella perde la selezione, la stringa di caratteri appena digitati viene inserita nel menù a discesa della casella combinata e nella casella di riepilogo "LstUno".
    	Private Sub CboUno_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    	    CboUno.AddItem CboUno.Text
    	    LstUno.AddItem CboUno.Text
    	     CboUno.Text = ""
    	End Sub
    	
    Con un Click del mouse sul pulsante "CmdAggiungi", ogni elemento della casella di riepilogo "LstUno" viene valutato. Se la voce è selezionata, l'elemento passa da "LstUno" a "LstDue".
    	Private Sub CmdAggiungi_Click()
    	    Dim i As Integer
    	    For i = 0 To CboUno.ListCount - 1
    	        If LstUno.Selected(i) = True Then
            	    LstDue.AddItem LstUno.List(i)
    	            LstUno.RemoveItem i
            	    LstUno.Selected(i) = False
    	        End If
    	    Next
    	End Sub
    	
    Con un Click del mouse sul pulsante "CmdRimuovi", ogni elemento della casella di riepilogo "LstDue" viene valutato. Se la voce è selezionata, l'elemento passa da "LstDue" a "LstUno".
    	Private Sub CmdRimuovi_Click()
     	   Dim i As Integer
    	    For i = 0 To LstDue.ListCount - 1
    	        If LstDue.Selected(i) = True Then
    	            LstUno.AddItem LstDue.List(i)
    	            LstDue.RemoveItem i
            	    LstDue.Selected(i) = False
    	        End If
    	    Next
    	End Sub
    	
    Con un Click del mouse sul pulsante "CmdCancella", vengono cancellate tutte le voci presenti in "CboUno", "LstUno" e "LstDue".
    	Private Sub CmdCancella_Click()
    	    CboUno.Clear
    	    LstUno.Clear
    	    LstDue.Clear
    	End Sub	
    	
    Quando viene selezionata la casella di controllo "ChkDisabilita", vengono disabilitati i pulsanti "CmdAggiungi" e "CmdRimuovi".
    	Private Sub ChkDisabilita_Change()
    	    If ChkDisabilita.Value = True Then
    	        CmdAggiungi.Enabled = False
    	        CmdRimuovi.Enabled = False
    	    Else
    	        CmdAggiungi.Enabled = True
    	        CmdRimuovi.Enabled = True
    	    End If
    	End Sub
    	
    Con un Click del mouse sul pulsante "CmdEsci", viene scarica la finestra.
    	Private Sub CmdEsci_Click()
    	    Unload Me
    	End Sub
    	
    Utilizzare la Form è molto semplice; inserisci una stringa di caratteri nella casella combinata "CboUno" e prova ad usare i comandi che hai appena creato, quindi valuta attentamente il codice Basic associato.
    Video Corso sulla lezione
    marius44(M.A.) - alfrimpa(A.I.) - albatros54(G.A.) © 2016