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.
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).
Passo 4)Vedrai una nuova finestra. È qui che dovresti aggiungere elementi alla combobox, come mostrato di seguito:
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.
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:
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:
Passo 4) Fai clic sul pulsante a discesa e scegli il tuo genere. Nel mio caso, scelgo Maschio e ottengo quanto segue:
Ecco uno screenshot del codice:
Spiegazione del codice:
- Creazione di una classe denominata Form1. La classe sarà accessibile pubblicamente poiché il suo modificatore di accesso è stato impostato su Pubblico.
- 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.
- Creazione di una stringa intera denominata var_gender.
- Imposta il valore della variabile var_gender sull'elemento selezionato nella casella combinata.
- Stampa del valore della variabile var_gender su un MesageBox.
- Fine della CombinazioneBoxSottoprocedura 1_SelectedIndexChanged.
- 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.
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:
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:
Passo 6) Passa alla prima casella combinata e scegli Femmina. Passa alla seconda casella combinata e guarda gli elementi disponibili:
Ecco uno screenshot del codice:
Spiegazione del codice:
- Creazione di una classe denominata Form1.
- 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.
- Aggiunta dell'oggetto Maschi al ComboBox1.
- Aggiunta dell'oggetto Femmine al ComboBox1.
- Fine della sottoprocedura Form1_Load().
- 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.
- Crea comboBox2 vuoto, cancella tutti gli elementi da esso.
- Creare una condizione. Verifica se l'elemento selezionato è presente su ComboBox1 è Maschi.
- Aggiungi l'oggetto Nicholas alla ComboBox2 quando la condizione di cui sopra è vera, ovvero l'elemento selezionato su ComboBox1 è maschio.
- Aggiungi l'oggetto John al ComboBox2 quando la condizione di cui sopra è vera, ovvero l'elemento selezionato su ComboBox1 è Maschi.
- Creare una condizione. Verifica se l'elemento selezionato è presente su ComboBox1 è femmine.
- Aggiungi l'oggetto Alice al ComboBox2 quando la condizione di cui sopra è vera, ovvero l'elemento selezionato su ComboBox1 è femmine.
- Aggiungi l'oggetto Grace alla ComboBox2 quando la condizione di cui sopra è vera, ovvero l'elemento selezionato su ComboBox1 è femmine.
- Fine del blocco If.
- Fine della CombinazioneBoxSottoprocedura 1_SelectedIndexChanged().
- 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.