Bonjour à tous.
J'ai créé une fonction assez longue à exécuter (qui modifie certains controls lors de son exécution ce qui rend l'utilisation de backgroundworker impossible).
Et j'ai également créé via mon code (avant) une progressBar.
Lorsque j'exécute ma fonction la première chose que je fait est rendre visible la progressbar.
Ensuite durant l'exécution, j'ai mis Avancement.Value += 1; un peu partout.
J'ai bien mis des try catch pas d'erreurs la fonction s'exécute bien correctement.
Sauf que je ne vois pas la barre avancer en fait. (pourtant elle reste affichée 3 à 4 secondes, l'exécution de la fonction quoi).
En fait je vois la progression seulement en cas d'erreur au bout de la 5ème incrémentation de la valeur (erreur dans le code qui précède) et bien la barre va se remplir jusqu'au 4 et m'afficher le message d'erreur.
J'ai également tenté de rajouter un sleep de 100 ms après chaque incrémentation rien n'y change.
De ce que j'ai pu lire sur internet ça viendrait du fait qu'on ne doit pas mettre la progressbar dans le meme thread, c'est ça? Comment je pourrais faire alors pour résoudre mon problème? sachant que dans ma fonction je raffraichit les controls de ma page donc pas de backgroundworker possibles ce qui expliquerait en partie le fait que le chargement soit extremement long.
Voilà j'avoue que ça m'embete un peu, j'espère que vous aurez compris mon problème bien qu'il soit assez complexe à expliquer clairement.
Merci, r0seBa
Partager