Usuário com melhor resposta
Autocomplete para Controles

Pergunta
-
Olá,
a tempos que mexo em c# me surgiu uma duvida ao fazer um pequeno app. E o seguinte eu quero sugerir palavras que podem ser escritas no textbox ate ai tudo bem pois sei como fazer. a duvida entra nesse exemplo abaixo:
eu tenho um Nome de Cliente que tem um Código do banco de dados ai quando eu começo a digitar o codigo eu quero que aparece o codigo - nome do cliente na sugestão exemplo :
"3000 - Jose da silva"
so que quando for selecionar essa linha eu quero q so escreva o "3000" sem o nome do cliente pois nesse campo so aceita codigo. o nome do cliente na sugestao e so para ajudar a identificar a qual pessoa o codigo esta relacionado.
para ajudar tenho um list com essa linhas como string
agradeço a ajuda.
att,NT10K
Respostas
-
Olá!
Você teria que manter um dicionário por trás dos panos, que faria a conversão dos valores da sua lista de sugestões para o ID correspondente.. Por exemplo, seria um Dictionary<string, int> em que uma das entradas seria key = "3000 - Jose da silva", value = 3000.. Depois, no evento KeyDown você verifica se o usuário apertou "enter", aí você faz a conversão do item selecionado para o ID correspondente, conforme sugerido nesta thread do StackOverflow:
How get Event “item Selected” with AutoComplete in C#?
Mas, uma pergunta me veio à mente.. Já que você está guardando o ID por trás dos panos, por que você não utiliza um ComboBox ao invés de um TextBox? Esse seria o controle mais indicado nesse cenário..
Abraço!
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Sugerido como Resposta Levi DomingosModerator sábado, 13 de janeiro de 2018 17:54
- Marcado como Resposta nt10k sábado, 13 de janeiro de 2018 21:08
Todas as Respostas
-
Bom dia, nt10k.
Obrigado por usar o fórum MSDN.
Essa seria uma questão de "How to/Customização" ou "Break Fix/Erro"?
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Olá!
Você teria que manter um dicionário por trás dos panos, que faria a conversão dos valores da sua lista de sugestões para o ID correspondente.. Por exemplo, seria um Dictionary<string, int> em que uma das entradas seria key = "3000 - Jose da silva", value = 3000.. Depois, no evento KeyDown você verifica se o usuário apertou "enter", aí você faz a conversão do item selecionado para o ID correspondente, conforme sugerido nesta thread do StackOverflow:
How get Event “item Selected” with AutoComplete in C#?
Mas, uma pergunta me veio à mente.. Já que você está guardando o ID por trás dos panos, por que você não utiliza um ComboBox ao invés de um TextBox? Esse seria o controle mais indicado nesse cenário..
Abraço!
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima- Sugerido como Resposta Levi DomingosModerator sábado, 13 de janeiro de 2018 17:54
- Marcado como Resposta nt10k sábado, 13 de janeiro de 2018 21:08
-
-
-
Legal, Natan.. Então o jeito é implementar daquele jeito com um dicionário por trás mesmo.. Qualquer dificuldade é só criar outra thread detalhando o problema..
Abraço!
André Alves de Lima
Microsoft MVP - Client App Dev
Visite o meu site: http://www.andrealveslima.com.br
Me siga no Twitter: @andrealveslima -