Mon tabControl "flashe" quand je change d'onglet

Résolu
Siteauludo Messages postés 60 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 mai 2007 - 23 mai 2006 à 22:13
cs_terranigma Messages postés 27 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 29 décembre 2010 - 17 déc. 2008 à 08:58
Bonjour,

Quand je change d'onglet dans mon application, il y a une sorte de "flash" blanc sur la le tabPage... es-ce normal ? J'utilise visual c# 2005 Express Edition (ça ce passe quand mon appli est lancé, pas dans le concepteur)

Merci beaucoup,
Siteauludo

6 réponses

leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
26 mai 2006 à 11:58
si jai bien compris le probleme, des que tu change donglet, la fenetre deviens toute blanche un court instant puis se reremplit?

si cest bien ca, cest simplement du au fait que tes onglets sont trop
long a charger graphiquement, ta fenetre fait un freeze (comme un
plantage dappli ou tout deviens blanc), puis tout saffiche ensuite. a
priori si ca fait ca cest du au fait que tu initialise ou remplis tes
objets graphiques au click sur longlet. ce que je te conseille, cest
qu'au click sur un onglet tu fais arreter le rafraichissement de ton
tab control, et une fois que tout est chargé graphiquement, tu
rafraichis (les méthodes sont Form.SuspendLayout() et
Form.ResumeLayout()).

ce qu'il va se passer ainsi est qu'au lieu d'un flash blanc tu auras un
pti "lag". tu vas clicker, rien ne va se passer jusqu'au
ResumeLayout(), et la tout va safficher. au lieu d'un flash blanc
desagréable, tu as une petite latence bcp plus acceptable pour les yeux
;)
3
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
29 mai 2006 à 11:56
à vérifier que cest exactement ca, mais essaie de t'abonner à l'évènement validated de chaque onglet. si cest pas celui la ca doit pas etre tres loin, mais quoiqu'il en soit il y aura un event qui t'indiquera que le composant a été chargé. (quoique si cest pas validated je vois pas, mais jai pas tout en tete )
3
leprov Messages postés 1160 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 21 octobre 2010 17
29 mai 2006 à 11:59
pour m'expliquer un peu mieux, ta form qui contient le tabcontrol s'abonne a l'evenement enter de chaque onglet et fait son SuspendLayout dans la méthode executée a la réception de cet event.
elle s'abonne aussi a l'evenement validated de chaque onglet et effectue le ResumeLayout dans la méthode executée a la réception de cet event. si tu as 4 onglets ca te fait 8 events a tabonner et 8 méthodes différentes.
en esperant que ca soit clair...si cest pas le cas hesite pas a reposter jessaierais dexpliquer plus en détails
3
Siteauludo Messages postés 60 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 mai 2007
28 mai 2006 à 16:34
Ok, merci beaucoup. Mais quelle est la méthode qui me dit quand tout est chargé graphiquement ?

Merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Siteauludo Messages postés 60 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 15 mai 2007
29 mai 2006 à 20:48
Ok, Merci beaucoup !

Siteauludo
0
cs_terranigma Messages postés 27 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 29 décembre 2010
17 déc. 2008 à 08:58
Bonjour,

Je ré-ouvre le sujet car je n'arrive pas à le mettre en place. Le problème vient-il du fait qu'à chaque changement d'onglet je charge differentes GroupBox selon les choix des autres onglets? Si ce n'est pas du à ça j'aimerais quelques informations supplémentaires!
0
Rejoignez-nous