Bonjour,
j'ai une forme avec une listview, des combos et des boutons.
L'utilisateur peut choisir des éléments dans les combos et clique sur un bouton "Rafraichir" pour afficher le resultat de la requete dans la listview.
Tout fonctionne parfaitement. Seulement, parfois la requete est plutot lourde (selon la fourchette de date choisie) et le traitement long (4 à 5 secondes pas plus), j'aimerais donc afficher une barre de progression dans la statusbar ou dans une fenetre qui viendrait au premier plan.
Mais dans un cas j'ai cree un bouton pour les utilisateurs qui permet de mettre automatiquement des valeurs dans les combos et qui lance automatiquement l'évènement clique du bouton rafraichir:
btnRafraichir_Click(null,null);
Ca marche aussi.
Seulement mon probleme est que la requete, mais aussi l'affichage du resultat de la requete, se fait dans l'evenement clique de mon bouton rafraichir.
Or d'apres le tuto suivant:
http://glarde.developpez.com/dotnet/bgworker/cs/
il est dit:
Que ce soit dans l'envent handler du DoWork ou dans la méthode Treatment, il est totalement interdit de manipuler les contrôles de l'interface utilisateur.
Comment puis je alors faire pour avoir facilement une barre de progression.
Ca fait 10 fois que je lis ce tuto et ceux de msdn, je ne parviens pas à comprendre le principe....
Merci de m'aider.
Partager