A scelta multipla su WinForms
Domanda
Qual è il modo migliore di attuare una scelta multipla in Windows Form?Voglio applicare una sola selezione da un elenco, a partire da un valore di default.
Sembra una ComboBox sarebbe una buona scelta, ma c'è un modo per specificare un non-vuoto valore di default?
Ho potuto solo impostare nel codice appropriato inizializzazione punto, ma sento che mi manca qualcosa.
Soluzione
Se solo si desidera una risposta da parte del gruppo, quindi un controllo RadioButton sarebbe il migliore oppure si può utilizzare la ComboBox se si hanno un sacco di opzioni.Per impostare un valore predefinito, basta aggiungere l'elemento alla ComboBox raccolta e impostare il SelectedIndex o SelectedItem a tale elemento.
A seconda di come molte opzioni che si sta guardando, è possibile utilizzare una casella di riepilogo con la proprietà SelectionMode set di MultiSimple, se sarà scelta multipla oppure si può utilizzare la Casella di controllo.
Altri suggerimenti
Si dovrebbe essere in grado di ComboBox.Proprietà SelectedIndex con ciò che si desidera che il valore di default per essere.
http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectedindex.aspx
Utilizzare il ComboBox.SelectedItem o SelectedIndex proprietà dopo che gli articoli sono stati inseriti per selezionare la voce predefinita.
Si potrebbe anche considerare l'utilizzo di RadioButton di controllo per applicare la selezione di una singola opzione.
È possibile utilizzare una ComboBox con il DropDownStyle set di proprietà di una DropDownList e SelectedIndex a 0 (o qualunque sia l'elemento predefinito).Questa forza avere sempre un elemento dalla lista selezionata.Se si dimentica di farlo, l'utente potrebbe digitare qualcosa nella casella di modifica della parte che sarebbe un male :)
Se si stanno dando all'utente un piccolo elenco di scelte, quindi bastone con i pulsanti di opzione.Tuttavia, se si desidera utilizzare la casella combinata per dinamica o lunghi elenchi.Impostare lo stile di DropDownList.
private sub populateList( items as List(of UserChoices))
dim choices as UserChoices
dim defaultChoice as UserChoices
for each choice in items
cboList.items.add(choice)
'-- you could do user specific check or base it on some other
'---- setting to find the default choice here
if choice.state = _user.State or choice.state = _settings.defaultState then
defaultChoice = choice
end if
next
'-- you chould select the first one
if cboList.items.count > 0 then
cboList.SelectedItem = cboList.item(0)
end if
'-- continuation of hte default choice
cboList.SelectedItem = defaultChoice
end sub