Domando o controle “ComboBox” (Windows Forms)

Um dos controles mais úteis dentro das aplicações Windows Forms no framework .NET é o controle “ComboBox”. Entretanto, às  vezes ele parece não funcionar muito bem.

Geralmente, quando você usa este controle e digita o texto para ser pesquisado dentro dos ítens, apenas a primeira letra dos itens é que é buscada.

Vou demonstrar como controlar isto para o controle buscar o nome conforme for digitado.

Este exemplo eu fiz usando o Visual Studio 2010 mas, funciona também com outras versões.

Crie uma aplicação do tipo “Windows Forms” usando o menu “File >> New >> Project”. Na janela configure para “Windows Forms Application”.

image

Arraste um componente “Label” e outro “ComboBox”. Configure-os conforme a tabela abaixo demonstra:

image

Componente Propriedade Valor Comentários
Label Text Nomes  
ComboBox DropDownStyle DropDownList Use este modo para restringir apenas aos itens que estão listados na propriedade Items.
  Items

Ana
Maria
Paula
Josiane
Beatriz

 

Execute o programa pressionando F5. Ao tentar localizar um dos nomes como por exemplo “Beatriz” note que, ao pressionar a tecla “B” o nome é exibido corretamente, mas, ao pressionar “A” o controle vai para o nome “Ana”.

Para resolver isto, configure as propriedades como abaixo:

Componente Propriedade Valor Comentários
ComboBox DropDownStyle DropDownList Use este modo para restringir apenas aos itens que estão listados na propriedade Items.
  Items

Ana
Maria
Paula
Josiane
Beatriz

 
  AutoCompleteMode Suggest Esta opção indica que deve sugerir o texto digitado.
  AutoCompleteSource ListItems Indica a origem dos itens a serem sugeridos.

Execute o programa agora e verifique que a busca funciona corretamente.