Basculer des forms avec fluidité [Résolu]

Signaler
Messages postés
3
Date d'inscription
mardi 11 janvier 2011
Statut
Membre
Dernière intervention
25 mai 2011
-
cs_yannick93
Messages postés
3
Date d'inscription
mardi 11 janvier 2011
Statut
Membre
Dernière intervention
25 mai 2011
-
Bonjour,
J'ai un problème a priori simple, mais qui me pose quelques soucis.
Je déclare des instances de plusieurs forms lors du splash.
Puis je navigue d'une form à une autre en utilisant Form.Show() et Form.Hide().
Ca fonctionne très bien, mais j'ai un affichage "saccadé": on voit tous les contrôles se construire les uns après les autres, etc.
Comment faire pour que les mises à jour de chaque form se fassent en arrière-plan, et que ainsi la navigation puisse être plus fluide ?

4 réponses

Messages postés
127
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
6 septembre 2019

Il existe une propriété "doublebuffer" dans les forms qui est supposé éviter ce genre de scintillement mais personnellement je n'ai jamais eu l'impression que ça marche!
Messages postés
127
Date d'inscription
vendredi 27 juin 2008
Statut
Membre
Dernière intervention
6 septembre 2019

Bonjour,

J'ai eu un problème similaire avec mon appli. Cependant, c'est différent car je n'avais qu'une form principale et j'ai intégré des usercontrol pour les différentes page de cette form. L'affichage des usercontrol sur un clic d'une nouvelle page très saccadé la première fois.
J'ai donc forcé dans l'évènement load de la form, l'initialisation de tous mes usercontrols (en appelant une fonction publique dans ces derniers au lieu d'utiliser l'évènement load), ça prend quelques secondes en ce qui concerne car j'ai un paquet d'objets. Ce n'est plus saccadé.

Le problème avec les form et l'utilisation des hide et show, c'est que la form est réinitialisée à chaque fois (si je ne dis pas de bétises) et donc c'est saccadé.

Essaies de trouver un moyen d'initialiser toutes tes forms au démarrage et de jouer sur la visibilité ou non de ces forms. Sinon, utilises des Usercontrol si possible.
Messages postés
3
Date d'inscription
mardi 11 janvier 2011
Statut
Membre
Dernière intervention
25 mai 2011

Bonjour,

Le FORM est généré durant le splah, et actualisé en arrière-plan, alors qu'il est masqué.
Il est donc prêt à être affiché, le souci c'est que lors du SHOW un des champs (une picturebox...) met du temps à s'afficher, d'où l'effet de scintillement.

Comment faire pour que la transition entre 2 forms déjà créés et actualisés soit plus fluide ?
Messages postés
3
Date d'inscription
mardi 11 janvier 2011
Statut
Membre
Dernière intervention
25 mai 2011

Et bien détrompe-toi, ça résoud pas mal de choses !
C'est même très efficace dans mon cas.
Je dois uniquement voir avec les "RectangleShapes" de VisualBasic PowerPacks qui elles ne passent pas, mais je pense que pour le coup je vais m'en passer !