Condividi tramite


Controlli a più elementi: utilizzo con i controlli ListBox e ComboBox

Aggiornamento: novembre 2007

In questa lezione, verrà descritto come aggiungere e rimuovere elementi dagli elenchi. Saranno inoltre fornite informazioni su come eseguire un'azione quando un utente seleziona un elemento in un elenco.

Quando si desidera fornire agli utenti un elenco di scelte, è possibile visualizzare l'elenco di elementi in un controllo ListBox o ComboBox.

Un controllo ListBox consente di visualizzare contemporaneamente più elementi, mediante lo scorrimento in un elenco. Quando un utente seleziona un elemento, viene evidenziato nell'elenco, come mostrato nelle figure seguenti.

Controllo ListBox

Controllo ListBox

Il controllo ComboBox è una combinazione di una casella di testo e di una casella di riepilogo. Per impostazione predefinita, la casella combinata viene visualizzata come una casella di testo, ma quando l’utente fa clic sulla freccia a discesa, viene visualizzato un elenco. Quando un utente seleziona un elemento, viene evidenziato e visualizzato nella visualizzazione predefinita, come mostrato nelle figure seguenti.

Controllo ComboBox

Controllo ComboBox

Le procedure per l'aggiunta di elementi a caselle di riepilogo e a caselle combinate sono simili. Per aggiungere elementi è possibile utilizzare il metodo Add del controllo ListBox e il meotdo Add del controllo ComboBox.

Procedura

  1. Scegliere Nuovo progetto dal menu File.

    Verrà visualizzata la finestra di dialogo Nuovo progetto.

  2. Scegliere Applicazione Windows Form, quindi fare clic su OK.

    Verrà aperto un nuovo progetto Windows Form.

  3. Aggiungere il controllo ListBox al form, mantenendo il nome predefinito, ListBox1.

  4. Fare doppio clic sul form per aggiungere il gestore eventi predefinito nell'Editor di codice.

  5. Nel gestore eventi Form_Load, aggiungere il codice seguente per aggiungere elementi all'elenco.

    With Me.ListBox1.Items
        .Add("red")
        .Add("blue")
        .Add("green")
        .Add("yellow")
        .Add("orange")
        .Add("pink")
        .Add("brown")
        .Add("black")
    End With
    
  6. Premere F5 per eseguire il programma.

    Il form viene visualizzato con un ListBox che contiene un elenco di colori.

  7. Chiudere il programma.

Esecuzione di una azione quando l'elemento selezionato viene modificato

È possibile eseguire un'azione, ad esempio la visualizzazione di un colore, quando l'utente seleziona l'elemento corrispondente in una casella di riepilogo. A questo scopo, è necessario scrive codice nel gestore eventi SelectedIndexChanged di ListBox. Esiste anche un evento corrispondente per il controllo ComboBox.

È possibile determinare quale elemento nell'elenco è selezionato mediante la proprietà SelectedItem. È possibile assegnare il colore selezionato nell'elenco alla proprietà BackColor di un controllo utilizzando il metodo FromName dell'oggetto Color.

  1. Aggiungere un controllo TextBox al form, mantenendo il nome predefinito, TextBox1.

  2. Fare doppio clic sul controllo ListBox per aggiungere il gestore eventi predefinito nell'Editor di codice.

  3. Nel gestore eventi ListBox_SelectedIndexChanged, aggiungere il codice seguente per visualizzare il colore nella casella di testo. Accertarsi che la variabile ColorName contenga un valore prima di assegnarla alla proprietà BackColor della casella di testo.

    Dim ColorName As String = CStr(ListBox1.SelectedItem)
    
    If ColorName IsNot Nothing Then
        Me.TextBox1.BackColor = _
            System.Drawing.Color.FromName(ColorName)
    End If
    
  4. Premere F5 per eseguire il programma.

  5. Quando il form viene visualizzato, fare clic su un elemento nella casella di riepilogo per visualizzare nella casella di testo il colore selezionato.

  6. Chiudere il programma.

Verifica della esistenza di un elemento nell'elenco

Quando si aggiungono elementi a un elenco, spesso non si desidera duplicare un elemento esistente. Ad esempio, si desidera che gli utenti siano in grado di copiare un elemento nella casella di riepilogo in una casella combinata facendo doppio clic sull'elemento. Se l'elemento è già presente nella casella combinata, non deve essere aggiunto. È possibile utilizzare il metodo Contains per determinare se l'elemento è già presente nella casella combinata. Esiste anche un metodo Contains corrispondente per una casella di riepilogo.

Per aggiungere elementi a una casella combinata

  1. Aggiungere un controllo ComboBox al form, mantenendo il nome predefinito, ComboBox1.

  2. Aprire l'Editor di codice facendo clic con il pulsante destro del mouse sul form e facendo clic su Visualizza codice.

  3. Nell'Editor di codice, nell'elenco a discesa Nome classe fare clic su ListBox1.

  4. Nell'elenco a discesa Nome metodo, fare clic su DoubleClick per creare il gestore eventi.

  5. Nel gestore eventi ListBox1_DoubleClick, aggiungere il codice seguente per aggiungere elementi alla casella combinata. Perché è possibile avere una casella di riepilogo vuota, è necessario accertarsi che l'elemento selezionato non sia vuoto prima di aggiungerlo.

    If ListBox1.SelectedItem IsNot Nothing Then
        If Not ComboBox1.Items.Contains(Me.ListBox1.SelectedItem) Then
            Me.ComboBox1.Items.Add(Me.ListBox1.SelectedItem)
        End If
    
        Me.ComboBox1.SelectedItem = Me.ListBox1.SelectedItem
    
    End If
    
  6. Premere F5 per eseguire il programma.

    Fare doppio clic sugli elementi nella casella di riepilogo e verificare che siano stati aggiunti alla casella combinata una sola volta.

  7. Chiudere il programma.

È possibile eliminare un elemento da una casella di riepilogo utilizzando il metodo Remove. Ad esempio, anziché copiare gli elementi da una casella di riepilogo a una casella combinata, si potrebbe decidere di spostarli. È possibile spostare un elemento dapprima aggiungendolo alla casella combinata e quindi eliminandolo dalla casella di riepilogo.

  1. Nel gestore eventi ListBox_DoubleClick, aggiungere il seguente codice prima dell'istruzione End If:

    Me.ListBox1.Items.Remove(Me.ListBox1.SelectedItem)
    
  2. Premere F5 per eseguire il programma.

  3. Fare doppio clic sugli elementi nella casella di riepilogo e verificare che siano stati rimossi alla casella di riepilogo e aggiunti alla casella combinata.

Passaggi successivi

In questa lezione, è stato descritto come aggiungere e rimuovere elementi dagli elenchi. Inoltre, è stato illustrato come eseguire un'azione quando un utente seleziona un elemento. Nella lezione successiva, verrà descritto come utilizzare controlli per la visualizzazione della data e dell’ora.

Lezione successiva: Visualizzazione di date: utilizzo dei controlli MonthCalendar e DateTimePicker

Vedere anche

Riferimenti

Cenni preliminari sul controllo ListBox (Windows Form)

Cenni preliminari sul controllo ComboBox (Windows Form)

Altre risorse

Creazione dell'aspetto visivo del programma: introduzione a Windows Form