Form qui devient blanc lors de l'exécution

Résolu
Signaler
Messages postés
3
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
5 février 2009
-
Messages postés
3
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
5 février 2009
-
Bonjour,

Lorsque j'exécute mon programme, il y a un moment où il réalise un traiement utilisant des composants et SQL server assez lourds qui prennent presque toutes les ressources CPU.

Le problème, c'est que du coup, le Form devient blanc si on passe sa fenêtre en réduit ou en arrière plan et qu'on la remet en premier plan. Les contrôles ne se redessinent pas, et alors que du texte devrait apparaître dans une textbox du Form après chaque étape réalisée durant le traitement, rien n'apparaît.

Ce n'est qu'une fois que le traitement est terminé (les ressources CPU sont libérées) que le Form se redessine et qu'enfin le texte qui aurait du se compléter peu à peu durant le traitement apparaît au complet.

J'ai essayé le Me.refresh dans la boucle qui exécute ces traitements lourds mais ça ne fait rien. Y a-t-il un moyen pour que le Form reste actualisé et se dessine correctement ?

Merci d'avance :)

3 réponses

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
Salut
En .Net, c'est Application.DoEvents
A insérer dans une éventuelle boucle (For-Next ou Do-Loop) ou deci-delà, dans ta partie gestion SQL.
La forme devient blanche car le programme ne rend pas la main au système pour gérer le graphisme.
Si le figeage a lieu lors de l'exécution d'une seule instruction, tu ne pourras rien faire, hélas.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Messages postés
1241
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
27 août 2013
6
Bonjour,

Essayes peut-être avec un do events (valable en vb6, je ne connais pas la correspondance en vb.net..)

L'expérience, c'est une connerie par jour, mais jamais la même..
Messages postés
3
Date d'inscription
dimanche 25 avril 2004
Statut
Membre
Dernière intervention
5 février 2009

Super, je vais tester ça :) Merci beaucoup !