Pregunta

¿Cuál es la mejor manera de implementar una opción de opción múltiple en Windows Forms?Quiero aplicar una única selección de una lista, comenzando con un valor predeterminado.

Parece que un ComboBox sería una buena opción, pero ¿hay alguna manera de especificar un valor predeterminado que no esté en blanco?
Podría configurarlo en el código en algún punto de inicialización apropiado, pero siento que me falta algo.

¿Fue útil?

Solución

Si solo desea una respuesta del grupo, entonces un control RadioButton sería su mejor opción o puede usar ComboBox si tiene muchas opciones.Para establecer un valor predeterminado, simplemente agregue el elemento a la colección de ComboBox y configure SelectedIndex o SelectedItem para ese elemento.

Dependiendo de cuántas opciones esté viendo, puede usar un ListBox con la propiedad SelectionMode establecida en MultiSimple, si será de opción múltiple o puede usar el control CheckBox.

Otros consejos

Debería poder configurar la propiedad ComboBox.SelectedIndex con el valor predeterminado que desea.

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

Utilizar el ComboBox.Elemento seleccionado o Índice seleccionado propiedad después de que se hayan insertado los elementos para seleccionar el elemento predeterminado.

También podrías considerar usar Boton de radio control para imponer la selección de una sola opción.

Puedes usar un ComboBox con el Estilo desplegable propiedad establecida en DropDownList y SelectedIndex en 0 (o cualquiera que sea el elemento predeterminado).Esto obligará a tener siempre seleccionado un elemento de la lista.Si olvida hacer eso, el usuario podría simplemente escribir algo más en la parte del cuadro de edición, lo cual sería malo :)

Si le está dando al usuario una pequeña lista de opciones, quédese con los botones de opción.Sin embargo, si lo desea, utilice el cuadro combinado para listas dinámicas o largas.Establezca el estilo en 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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top