Problème d'affichage de l'autocompletion avec temporisation
Hermios
Messages postés264Date d'inscriptiondimanche 14 avril 2013StatutMembreDernière intervention23 mai 2014
-
16 oct. 2013 à 14:34
Hermios
Messages postés264Date d'inscriptiondimanche 14 avril 2013StatutMembreDernière intervention23 mai 2014
-
16 oct. 2013 à 17:34
Bonjour,
Je souhaite travailler avec une autocompletion suggest customisée, et dynamique : Dans un event sur le textchanged de ma textbox l'autocompletion se met à jour.
Le problème classique : Si je tape trop vite, j'ai droit à une accessviolationexception.
Donc j'ai voulu temporiser, mais je dois mal m'y prendre :
Dans mon textchanged, j'ai écrit
if (thSuggestTextBox != null && thSuggestTextBox.IsAlive)
thSuggestTextBox.Abort();
thSuggestTextBox = new Thread(suggestInTextBox);
thSuggestTextBox.Start();
Puis dans suggestInTextBox,
-je commence par Thread.sleep(500),
-je supprime l'AutoCompleteCustomSource de ma textbox
-je la réécris..
Ca me permet de ne pas taper de manière hachée dans ma textbox
Je n'ai plus de crash, mais l'autocompletion s'affiche avec un délai, puis disparait!
Concrètement,
- je tape certains caractères (3 minimum)->rien ne s'affiche
- Je change le texte->L'ancienne autocompletion s'affiche, puis disparait au bout de 500ms
J'ai essayé de faire du step by step pour voir à quel moment le programme affiche l'autocompletion, mais
Donc ma question : Comment je peux forcer l'affichage de l'autocompletion lorsqu'elle a été construite?
Si je travaille sans multi thread, je n'ai pas ce problème.