Combinazione VB.NetBox Controllo con ESEMPIO

โšก Riepilogo intelligente

ComboBox in VB.Net รจ un Windows Controllo per moduli che combina una casella di testo con un elenco a discesa, consentendo all'utente di selezionare un singolo elemento o di digitarlo, risparmiando spazio sul modulo.

  • ๐ŸŽฏ Scopo: Mostra un elenco a discesa in cui l'utente seleziona o digita un valore.
  • โž• Aggiungi elementi: Popola la casella combinata nella finestra Proprietร  oppure con Items.Add in fase di esecuzione.
  • ๐Ÿ” Leggi il brano: SelectedItem, SelectedIndex e Text restituiscono il valore selezionato dall'utente.
  • ๏ธ Dati di collegamento: Imposta DataSource, DisplayMember e ValueMember per caricare le righe da un dataset.
  • ๐Ÿ”” Rileva le modifiche: L'evento SelectedIndexChanged viene attivato ogni volta che l'elemento selezionato cambia.
  • ๐Ÿค– Aiuto tramite intelligenza artificiale: GitHub Copilot e Visual Studio IntelliCode scrivere ComboBox gestori mentre digiti.

Combinazione VB.NetBox Controllate

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:

Passaggio 1) Creare una nuova applicazione.

Passaggio 2) Trascina un controllo combobox dalla casella degli strumenti al modulo.

Controllo combobox VB.Net rilasciato dalla casella degli strumenti su un Windows Modulo

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:

Passaggio 1) Aprire la scheda Progettazione e fare clic sul controllo Casella combinata.

Passaggio 2) Passare alla finestra Proprietร  e visualizzare l'opzione Elementi.

Passaggio 3) Fare clic sui tre puntini (โ€ฆ) situati a destra di (Raccolta).

Aggiunta di elementi a una combobox VB.Net tramite codice con il metodo Items.Add

Finestra Proprietร  VB.Net che apre l'editor Raccolta elementi della casella combinata

Passaggio 4) Si aprirร  una nuova finestra. Qui รจ dove dovrete aggiungere gli elementi alla casella combinata, come mostrato di seguito:

Elenco degli elementi della casella combinata maschile e femminile dell'editor della raccolta di stringhe

Passaggio 5) Una volta terminato con i timbriping gli elementi, fare clic sul pulsante OK.

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

Casella combinata VB.Net che mostra "Maschio" selezionato come elemento predefinito in fase di esecuzione

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:

Modulo VB.Net che visualizza una casella combinata con le opzioni Maschio e Femmina.

Recupero dei valori della casella combinata

รˆ possibile ottenere l'elemento selezionato dalla casella combinata. Questo si puรฒ fare utilizzando la proprietร  `text`. Vediamo un esempio con la casella combinata sopra riportata, contenente due elementi: "Maschio" e "Femmina". Segui i passaggi indicati di seguito:

Passo 1) Double Fai clic sulla casella combinata per aprire la scheda con il codice VB.Net.

Passaggio 2) Aggiungere 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

Passaggio 3) Fare clic sul pulsante Avvia nella barra degli strumenti per eseguire il codice. Dovrebbe apparire la seguente schermata:

Code Screenshot del gestore eventi SelectedIndexChanged della combobox di VB.Net

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

Finestra di messaggio VB.Net che mostra il testo dell'elemento della combobox selezionato Maschio

Ecco uno screenshot del codice:

Spiegazione di Code:

  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 si fa doppio clic sul controllo combobox dalla scheda Progettazione. Questa sottoprocedura verrร  richiamata quando si seleziona un elemento dalla combobox. sd As Object fa riferimento all'oggetto che ha generato l'evento, mentre evnt As EventArgs contiene i dati dell'evento.
  3. Creazione di una variabile di tipo Stringa denominata var_gender.
  4. Imposta il valore della variabile var_gender sull'elemento selezionato nella casella combinata.
  5. Stampare il valore della variabile var_gender su un messaggioBox.
  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

Spesso vorrai che il tuo programma reagisca nel momento stesso in cui l'utente seleziona un nuovo valore.

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:

Passaggio 1) Creane uno nuovo Windows Applicazione dei moduli.

Passaggio 2) Dopodichรฉ, รจ necessario trascinare e rilasciare due controlli combobox nel modulo.

Due controlli combobox posizionati uno accanto all'altro in VB.Net Windows Modulo

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

Passaggio 4) Fai clic sul pulsante Avvia nella barra superiore per eseguire il codice. Dovresti ottenere il seguente output:

Prima casella combinata popolata con Maschi e Femmine al caricamento del modulo

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

Seconda casella combinata che mostra Nicholas e John dopo la selezione di Maschi

Passaggio 6) Spostarsi sulla prima casella combinata e scegliere FemminaPassa alla seconda casella combinata e visualizza gli elementi disponibili:

Seconda casella combinata che mostra Alice e Grace dopo aver selezionato "Femmine".

Ecco uno screenshot del codice:

Code Screenshot del gestore SelectedIndexChanged della casella combinata a due vie di VB.Net

Spiegazione di Code:

  1. Creazione di una classe denominata Form1.
  2. Inizio di una sottoprocedura denominata Form1_Load(). Questa verrร  attivata al caricamento del modulo. sd As Object fa riferimento all'oggetto che ha generato l'evento, mentre evnt As EventArgs contiene i 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.

DOMANDE FREQUENTI

Una combinazioneBox Risparmia spazio nascondendo l'elenco finchรฉ non si fa clic sulla freccia e puรฒ accettare input digitati. Un elencoBox mostra tutti gli elementi contemporaneamente e consente solo la selezione.

DropDownStyle sceglie il comportamento: DropDown (predefinito) consente all'utente di digitare testo libero; DropDownList limita l'input agli elementi presenti nell'elenco; Simple mantiene l'elenco sempre aperto.

SelectedIndex restituisce la posizione basata su zero, SelectedItem restituisce l'oggetto associato a quella riga e Text restituisce la stringa nella casella di testo, incluso il testo digitato dall'utente.

Combinazione di chiamateBox1.Items.Clear() per svuotare l'elenco. Per reimpostare anche il testo visualizzato nella casella di modifica, seguirlo con ComboBox1.SelectedIndex = -1 o imposta ComboBox1. Testo = Stringa.Vuota.

Imposta la proprietร  DropDownStyle su DropDownList nella finestra Proprietร  o nel codice (ComboBox1.DropDownStyle = ComboBoxStyle.DropDownList). L'utente puรฒ quindi selezionare solo gli elementi giร  presenti nell'elenco.

L'evento TextChanged viene attivato mentre l'utente modifica la casella di testo. L'evento SelectedIndexChanged viene attivato solo quando cambia l'elemento evidenziato nell'elenco a discesa, sia tramite mouse, tastiera o codice.

Sรฌ. Le serrature scorrevoli portatili e i catenacci a superficie possono essere usati per mettere in sicurezza una porta a scomparsa dall'esterno. Alcuni kit con catena di sicurezza consentono anche il bloccaggio esterno con chiave o manopola girevole. Copilota GitHub Converte un commento in linguaggio naturale in un blocco completo SelectedIndexChanged o DataBindings. รˆ sempre consigliabile rivedere il codice generato prima della distribuzione.ping.

Sรฌ. Visual Studio 2026 associa Copilot a intelliCode per completamenti di Combo sensibili al contesto e all'intera rigaBox proprietร  ed eventi.

Riassumi questo post con: