Autocomplétition

FStudio -  
cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je cherche depuis plusieurs jours une alternative à ce problème que voici:
J'ai une textbox avec la liste complète des aéroports sous la forme suivante:
"[CODE IATA] - [NOM ET LIEU DE L'AEROPORT], [PAYS]"
La seule chose qui m'intéresse ici est de récupérer le code IATA, ce que je fais sans aucun problème.

Le problème, c'est que l'autocomplétition ne fonctionne que si l'utilisateur entre les premiers caractères, soit ici le code IATA, code que personne ne peut savoir par coeur pour chaque aéroport.
Je me demandais donc comment faire pour que, par exemple, l'utilisateur rentre "Orly" et que la textbox propose dans sa liste du dessous les aéroport contenant le mot "Orly", et renvoyant le tout sour la même forme qu'actuellement, soit code IATA - nom de l'aéroport et pays.

Merci d'avance

1 réponse

cs_Le Pivert Messages postés 7904 Date d'inscription   Statut Contributeur Dernière intervention   729
 
Bonjour,

Tu programmes en VB.NET?

Ce que je te propose, c'est de mettre ta liste dans une listBox.
Voici le code de recherche:

  Dim i As Integer
Dim listString As String
Dim reponse As String
reponse = InputBox("Entrez un nom", "Recherche", "Nom")
If reponse = "" Then Exit Sub
If reponse.Length <= 2 Then
MessageBox.Show("Vous devez saisir 3 caractères minimum!", "Sélection", MessageBoxButtons.OK, MessageBoxIcon.Information)
Exit Sub
Else
For i = 0 To ListBox1.Items.Count - 1
listString = CStr(ListBox1.Items.Item(i))
If CBool(InStr(listString.ToLower, reponse.ToLower)) Then
ListBox1.SelectedItems.Add(listString)
MessageBox.Show("Nom : " & ListBox1.SelectedItem.ToString, "Recherche", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Next
MessageBox.Show("Recherche terminée.", "Recherche", MessageBoxButtons.OK, MessageBoxIcon.Information)
listString = Nothing
End If
0