2008-08-18 12 views
5

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

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 simplemente configurarlo en el código en algún punto de inicialización apropiado, pero siento que me falta algo.

Respuesta

8

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

Dependiendo de la cantidad de opciones que 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.

2

Usar la propiedad o ComboBox.SelectedItemSelectedIndex después de que los artículos se han insertado para seleccionar el elemento predeterminado.

También podría considerar usar el control RadioButton para forzar la selección de una sola opción.

2

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

1

Si le está dando al usuario una pequeña lista de opciones, continúe con los botones de opción. Sin embargo, si desea usar 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 
Cuestiones relacionadas