Pergunta

Qual é a melhor maneira de implementar uma opção de múltipla escolha no Windows Forms?Quero impor uma única seleção de uma lista, começando com um valor padrão.

Parece que um ComboBox seria uma boa escolha, mas existe uma maneira de especificar um valor padrão que não esteja em branco?
Eu poderia simplesmente configurá-lo no código em algum ponto de inicialização apropriado, mas sinto que está faltando alguma coisa.

Foi útil?

Solução

Se você quiser apenas uma resposta do grupo, um controle RadioButton seria a melhor opção ou você poderia usar o ComboBox se tiver muitas opções.Para definir um valor padrão, basta adicionar o item à coleção do ComboBox e definir SelectedIndex ou SelectedItem para esse item.

Dependendo de quantas opções você está olhando, você pode usar um ListBox com a propriedade SelectionMode definida como MultiSimple, se for de múltipla escolha ou você pode usar o controle CheckBox.

Outras dicas

Você deve ser capaz de definir apenas a propriedade ComboBox.SelectedIndex com o que deseja que seja o valor padrão.

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

Use o ComboBox.SelectedItem ou Índice selecionado propriedade após os itens terem sido inseridos para selecionar o item padrão.

Você também pode considerar usar Botao de radio controle para impor a seleção de uma única opção.

Você pode usar um ComboBox com o Estilo suspenso propriedade definida como DropDownList e SelectedIndex como 0 (ou qualquer que seja o item padrão).Isso forçará sempre a ter um item da lista selecionado.Se você esquecer de fazer isso, o usuário poderá simplesmente digitar outra coisa na parte da caixa de edição - o que seria ruim :)

Se você estiver fornecendo ao usuário uma pequena lista de opções, use os botões de opção.No entanto, se você quiser usar a caixa de combinação para listas dinâmicas ou longas.Defina o estilo como 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top