Codice array ComboBox Windows Form C #
Domanda
Sto usando C # con un modulo di domanda di Windows. In questo ho una casella combinata. Qual è il codice per aggiungere le selezioni a discesa? Dal mio googling finora presumo che ho bisogno di impostare un arraylist per i dettagli?
Soluzione
Per aggiungere elementi al ComboBox hai due opzioni:
Aggiungili alla raccolta Articoli:
comboBox1.Items.Add("abc");
comboBox1.Items.Add("def");
Oppure utilizza l'associazione dati:
comboBox1.DataSource = myList;
o con un array:
comboBox1.DataSource = myArray;
Per la prima variante è possibile utilizzare solo stringhe come elementi, mentre con l'associazione dei dati è possibile associare una raccolta di oggetti più complessi. Puoi quindi specificare quali proprietà sono visualizzate :
comboBox1.DisplayMember = "Name";
e ciò che viene trattato come valore:
comboBox1.ValueMember = "ID";
Puoi accedere all'oggetto originale che verrà selezionato in seguito con
comboBox1.SelectedItem
o il valore con
comboBox1.SelectedValue
Il valore è la proprietà specificata con ValueMember
.
Altri suggerimenti
Puoi utilizzare ComboBox1.Items.Add (" Item ") per aggiungere elementi 1 alla volta oppure ComboBox1.Items.AddRange (MyArray) per aggiungere un intero elenco di elementi contemporaneamente. Ogni elemento che aggiungi può essere una stringa, nel qual caso viene visualizzato direttamente nell'elenco a discesa o può essere un oggetto, nel qual caso la proprietà DisplayMember della casella combinata viene utilizzata per determinare quale delle proprietà degli oggetti verrà visualizzata nell'elenco a discesa.