Combinazione VB.NetBox Controllo con ESEMPIO

Che cos'è il controllo Combobox?

Il controllo combobox ti aiuta a visualizzare un elenco a discesa con molti elementi. Consideralo come una combinazione di una casella di testo in cui un utente inserisce del testo e di un elenco a discesa da cui un utente seleziona un elemento. Nota che la casella combinata mostra un elemento alla volta.

Creazione di una casella combinata

Una combinazioneBox può essere creato come segue:

Passo 1) Crea una nuova applicazione.

Passo 2) Trascinare un controllo combobox dalla casella degli strumenti al modulo.

Creazione di una casella combinata

Avrai creato un controllo combobox.

Aggiungere elementi alla casella combinata

Ora che abbiamo creato una casella combinata, vediamo come aggiungervi degli elementi.

Double fai clic sul controllo combobox che hai aggiunto. Verrai spostato dalla scheda di progettazione alla scheda con il codice.

Per aggiungere un elemento a un controllo combobox, utilizziamo la proprietà Items. Dimostriamolo aggiungendo due elementi al combobox, Male e Female:

ComboBox1.Items.Add("Male")
ComboBox1.Items.Add("Female")

Possiamo anche scegliere di aggiungere elementi alla combobox in fase di progettazione dalla finestra Proprietà. Ecco i passaggi:

Passo 1) Aprire la scheda Progettazione e fare clic sul controllo casella combinata.

Passo 2) Passare alla finestra Proprietà e visualizzare l'opzione Elementi.

Passo 3) Fare clic su … situato a destra di (Raccolta).

Aggiungere elementi alla casella combinata

Passo 4)Vedrai una nuova finestra. È qui che dovresti aggiungere elementi alla combobox, come mostrato di seguito:

Aggiungere elementi alla casella combinata

Passo 5) Una volta terminata la digitazione degli elementi, fare clic sul pulsante OK.

Passo 6) Fare clic sul pulsante Start nella barra degli strumenti in alto e quindi sull'icona a discesa nella casella combinata.

Aggiungere elementi alla casella combinata

Gli elementi sono stati aggiunti correttamente al controllo casella combinata.

Selezione di elementi della casella combinata

Potrebbe essere necessario impostare l'elemento predefinito che verrà selezionato quando il modulo viene caricato. È possibile farlo tramite il metodo SelectedItem(). Ad esempio, per impostare il genere selezionato predefinito su Male, è possibile utilizzare la seguente istruzione:

ComboBox1.SelectedItem = "Male"

Quando esegui il codice, il controllo combobox dovrebbe apparire come mostrato di seguito:

Selezione di elementi della casella combinata

Recupero dei valori della casella combinata

Puoi ottenere l'elemento selezionato dalla tua combobox. Questo può essere fatto usando la proprietà text. Dimostriamolo usando la nostra combobox di cui sopra con due elementi, ovvero Male e Female. Segui i passaggi indicati di seguito:

Passo 1) Double fare clic sulla casella combinata per aprire la scheda con VB.NET codice.

Passo 2) Aggiungi il seguente codice:

Public Class Form1
    Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged

        Dim var_gender As String

        var_gender = ComboBox1.Text

        MessageBox.Show(var_gender)
		
    End Sub
End Class

Passo 3) Fai clic sul pulsante Start dalla barra degli strumenti per eseguire il codice. Dovresti ottenere il seguente modulo:

Recupero dei valori della casella combinata

Passo 4) Fai clic sul pulsante a discesa e scegli il tuo genere. Nel mio caso, scelgo Maschio e ottengo quanto segue:

Recupero dei valori della casella combinata

Ecco uno screenshot del codice:

Recupero dei valori della casella combinata

Spiegazione del codice:

  1. Creazione di una classe denominata Form1. La classe sarà accessibile pubblicamente poiché il suo modificatore di accesso è stato impostato su Pubblico.
  2. Avvio di una sottoprocedura denominata ComboBox1_SelectedIndexChanged. Questo viene generato automaticamente quando fai doppio clic sul controllo combobox dalla scheda di progettazione. Questa sottoprocedura verrà richiamata quando selezioni un elemento dalla combobox. L'sd As Object fa riferimento all'oggetto che ha generato l'evento mentre l'evento As EventArgs ha i dati dell'evento s.
  3. Creazione di una stringa intera denominata var_gender.
  4. Imposta il valore della variabile var_gender sull'elemento selezionato nella casella combinata.
  5. Stampa del valore della variabile var_gender su un MesageBox.
  6. Fine della CombinazioneBoxSottoprocedura 1_SelectedIndexChanged.
  7. Fine della lezione Form1.

Rimozione di elementi dalla casella combinata

È possibile rimuovere un elemento dalla tua combobox. Ci sono due modi per farlo. Puoi usare l'indice dell'elemento o il nome dell'elemento.

Quando utilizzi l'indice degli elementi, dovresti utilizzare la proprietà Items.RemoveAt() come mostrato di seguito:

ComboBox1.Items.RemoveAt(1)

Nell'esempio sopra, stiamo rimuovendo l'elemento situato all'indice 1 della combobox. Nota che gli indici delle combobox iniziano all'indice 0, il che significa che il comando sopra rimuoverà il secondo elemento della combobox.

Per rimuovere l'elemento utilizzando il suo nome, dovresti utilizzare la proprietà Items.Remove() come mostrato di seguito:

ComboBox1.Items.Remove("Female")

Il codice sopra dovrebbe rimuovere l'oggetto denominato Female dal ComboBox1.

Associazione DataSource

Una combinazioneBox può essere popolato da un set di dati. Considera la query SQL fornita di seguito:

select emp_id, emp_name from employees; 

È possibile creare un'origine dati in un programma e quindi utilizzare il seguente codice per associarla:

comboBox1.DataSource = ds.Tables(0)
comboBox1.ValueMember = "emp_id"
comboBox1.DisplayMember = "emp_name"

Ciò ti fornirà un modo semplice per popolare il tuo controllo combobox con i dati senza dover digitare ogni singolo elemento.

Evento SelectedIndexChanged

Questo tipo di evento viene invocato quando modifichi l'elemento selezionato nella tua casella combinata. È l'evento che dovresti usare quando devi implementare un'azione in seguito a una modifica dell'elemento selezionato di una casella combinata. Dimostriamolo con un esempio:

Passo 1) Creare una nuova applicazione Window Form.

Passaggio 2) Successivamente è necessario Trascinare e rilasciare due controlli combobox nel modulo.

Evento SelectedIndexChanged

Passo 3) Double clicca all'interno del modulo per aprire la scheda per il codice. Inserisci il seguente codice:

Public Class Form1
    Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load

        ComboBox1.Items.Add("Males")

        ComboBox1.Items.Add("Females")

    End Sub

    Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged

        ComboBox2.Items.Clear()

        If ComboBox1.SelectedItem = "Males" Then

            ComboBox2.Items.Add("Nicholas")

            ComboBox2.Items.Add("John")

        ElseIf ComboBox1.SelectedItem = "Females" Then

            ComboBox2.Items.Add("Alice")

            ComboBox2.Items.Add("Grace")

        End If
    End Sub
End Class

Passo 4) Fai clic sul pulsante Start dalla barra in alto per eseguire il codice. Dovresti ottenere il seguente output:

Evento SelectedIndexChanged

Passo 5) Fai clic sul pulsante a discesa nella prima casella combinata e seleziona Maschio. Sposta il cursore del mouse sulla seconda casella combinata e fai clic sul relativo pulsante a discesa. Guarda gli elementi disponibili:

Evento SelectedIndexChanged

Passo 6) Passa alla prima casella combinata e scegli Femmina. Passa alla seconda casella combinata e guarda gli elementi disponibili:

Evento SelectedIndexChanged

Ecco uno screenshot del codice:

Evento SelectedIndexChanged

Spiegazione del codice:

  1. Creazione di una classe denominata Form1.
  2. Inizio di una sottoprocedura denominata Form1_Load(). Questo verrà attivato una volta caricato il modulo. sd As Object fa riferimento all'oggetto che ha generato l'evento mentre il sistema As EventArgs dispone dei dati dell'evento.
  3. Aggiunta dell'oggetto Maschi al ComboBox1.
  4. Aggiunta dell'oggetto Femmine al ComboBox1.
  5. Fine della sottoprocedura Form1_Load().
  6. Inizio di una sottoprocedura denominata ComboBox1_SelectedIndexChanged(). Verrà richiamato quando un elemento viene selezionato nella prima casella combinata. Il mittente As Object fa riferimento all'oggetto che ha generato l'evento mentre e As EventArgs ha i dati dell'evento.
  7. Crea comboBox2 vuoto, cancella tutti gli elementi da esso.
  8. Creare una condizione. Verifica se l'elemento selezionato è presente su ComboBox1 è Maschi.
  9. Aggiungi l'oggetto Nicholas alla ComboBox2 quando la condizione di cui sopra è vera, ovvero l'elemento selezionato su ComboBox1 è maschio.
  10. Aggiungi l'oggetto John al ComboBox2 quando la condizione di cui sopra è vera, ovvero l'elemento selezionato su ComboBox1 è Maschi.
  11. Creare una condizione. Verifica se l'elemento selezionato è presente su ComboBox1 è femmine.
  12. Aggiungi l'oggetto Alice al ComboBox2 quando la condizione di cui sopra è vera, ovvero l'elemento selezionato su ComboBox1 è femmine.
  13. Aggiungi l'oggetto Grace alla ComboBox2 quando la condizione di cui sopra è vera, ovvero l'elemento selezionato su ComboBox1 è femmine.
  14. Fine del blocco If.
  15. Fine della CombinazioneBoxSottoprocedura 1_SelectedIndexChanged().
  16. Fine della lezione Modulo1.

Sintesi

  • Una combinazioneBox viene creato trascinandolo dalla casella degli strumenti e rilasciandolo nel modulo.
  • Ci fornisce un modo per presentare numerose opzioni all'utente.
  • Possiamo impostare l'elemento predefinito da selezionare sul ComboBox quando il modulo viene caricato.
  • L'evento SelectedIndexChanged ci aiuta a specificare l'azione da intraprendere quando un particolare elemento viene selezionato nella casella combinata.