Question

Quelle est la meilleure façon d’implémenter une option à choix multiples dans Windows Forms ?Je souhaite appliquer une seule sélection dans une liste, en commençant par une valeur par défaut.

Il semble qu'un ComboBox serait un bon choix, mais existe-t-il un moyen de spécifier une valeur par défaut non vide ?
Je pourrais simplement le définir dans le code à un point d'initialisation approprié, mais j'ai l'impression qu'il me manque quelque chose.

Était-ce utile?

La solution

Si vous ne voulez qu'une seule réponse du groupe, alors un contrôle RadioButton serait votre meilleure solution ou vous pouvez utiliser la ComboBox si vous avez beaucoup d'options.Pour définir une valeur par défaut, ajoutez simplement l'élément à la collection du ComboBox et définissez SelectedIndex ou SelectedItem sur cet élément.

En fonction du nombre d'options que vous examinez, vous pouvez utiliser un ListBox avec la propriété SelectionMode définie sur MultiSimple, s'il s'agit d'un choix multiple ou vous pouvez utiliser le contrôle CheckBox.

Autres conseils

Vous devriez pouvoir simplement définir la propriété ComboBox.SelectedIndex avec la valeur par défaut souhaitée.

http://msdn.microsoft.com/en-us/library/system.windows.forms.combobox.selectedindex.aspx

Utilisez le ComboBox.SelectedItem ou IndexSélectionné propriété après que les éléments ont été insérés pour sélectionner l’élément par défaut.

Vous pouvez également envisager d'utiliser Bouton radio contrôle pour imposer la sélection d’une seule option.

Vous pouvez utiliser une ComboBox avec le StyleDropDown propriété définie sur DropDownList et SelectedIndex sur 0 (ou quel que soit l'élément par défaut).Cela forcera à toujours avoir un élément de la liste sélectionné.Si vous oubliez de le faire, l'utilisateur pourrait simplement taper autre chose dans la zone d'édition - ce qui serait mauvais :)

Si vous donnez à l'utilisateur une petite liste de choix, restez fidèle aux boutons radio.Cependant, si vous souhaitez utiliser la zone de liste déroulante pour des listes dynamiques ou longues.Définissez le style sur 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top