Problème d'actualisation

Résolu
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015 - 30 mars 2015 à 20:01
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015 - 1 avril 2015 à 17:19
Bonjour,

En fait voilà lorsque j'exécute mon application, je demande dans l'évènement Form_load de charger une image qui se trouve à la racine de mon programme. Le problème, c'est que je vois d'abord apparaitre le form gris une fraction de seconde avant de voir mon image apparaitre en arrière plan. Comment puis-je actualiser le form avant d'afficher à l'écran ?

8 réponses

Zermelo Messages postés 378 Date d'inscription samedi 22 septembre 2012 Statut Membre Dernière intervention 13 août 2017 14
31 mars 2015 à 16:41
Bonjour blackcatthc

Et si vous essayiez l'évènement Shown, histoire de voir si montrer et "showner" sont identiques ?

Cordialement.
1
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
30 mars 2015 à 20:44
Bonjour,
Déjà : l'évènement Load intervient (comme son nom l'indique) au chargement. Il se produit AVANT le premier affichage d'un formulaire.
Il est dès lors bien clair que le choix de cet évènement n'est pas le plus "heureux" dans ton cas.
Ouvre MSDN et choisis donc un évènement moins "primaire" ===>>
https://msdn.microsoft.com/fr-fr/library/system.windows.forms.form%28v=vs.110%29.aspx
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 30/03/2015 à 20:53
Pour ton info : l'une des toutes premières petites choses que j'ai très spontanément faites aux tous débuts de mes expériences en développement a été, juste pour y voir bien clair, de regarder dans quel ordre exact survenaient les évènements d'un Form.
Cela n'a pas été difficile et je ne suis pas sorti de la cuisse de Jupiter pour avoir l'idée toute bête d'afficher une msgbox disant l'évènement intervenant dans chacun des évènements possibles. En "lançant", il m'a suffi de regarder l'ordre dans lequel ces messages apparaissaient. Crois-tu que ce petit réflexe demande du génie ?

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
30 mars 2015 à 21:12
Bonjour

de charger une image qui se trouve à la racine de mon programme

pas compris l'image de ta form (form1.backgroundimage)
image d'un picturebox ?
aussi les images mieux vaut les placer dans tes resources
0

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

Posez votre question
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
31 mars 2015 à 17:17
Bien justement ucfoutu comme l'événement load d'un form se produit avant qu'il soit afficher à l'écran j'imaginais que mon image d'arrière plan serais charger et afficher sur le form et qu'ensuite seulement le form serait affiché à l'écran. Je programme habituellement sous VB6 et c'est comme ça que je fais.

cs_ShayW quand je dit à la racine de mon programme c'est à dire que l'image se trouve dans le dossier ou se trouve le programme. Mais le problème n'est pas là, je n'ai aucun problème pour la charger ^^. Et oui je l'a charge en Backgroundimage sur le form1.

En fait je crée un logiciel qui aura plusieurs skin et de très nombreux form environ 40. C'est pour cela que je n'utilise pas les ressource. car à se que j'ai comprit il n'est pas possible d'y placer des dossiers pour y ranger toute ces images et vu la quantité d'images qu'il va y avoir ça risque d'être un peu le bordel la dedans.
J'ai voulu aussi essayer les imagelist mais contrairement a vb6 il faut que tout les images soit de même taille donc ça ne me convient pas non plus.
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
31 mars 2015 à 17:30
Bonjour Zermelo

J'ai essayé à l'instant ce que tu viens de me suggéré et ça fonctionne parfaitement.
Merci pour l'info.

--
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
Modifié par cs_ShayW le 31/03/2015 à 20:37
En fait je crée un logiciel qui aura plusieurs skin et de très nombreux form environ 40. C'est pour cela que je n'utilise pas les ressource

40 forms n'y a t'il pas un problème de design ?
0
blackcatthc Messages postés 86 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 1 avril 2015
1 avril 2015 à 17:19
Je sais que ce n'ai pas très élégant comme manière de programmer. Mais c'est pour éviter de devoir manipuler trop de composant dans un nombre réduit de forms. Comme ça le programme et les form me paraisse un peu moins bordélique.

Après il y a aussi le faite que VB.net n'aime pas trop qu'on passe des control du type panel ou Picture en visible = false et en visible = True car la encore ça clignote de partout et l'on vois l'arrière plan apparaitre un cours instant avant l'apparition de l'image des control et c'est insupportable.

D'ailleurs si quelqu'un a une idée à ce sujet, je suis vraiment très intéressé. Le seul moyen que j'ai trouver de mon côté est d'utiliser des images au forma BMP ce qui réduit pas mal les scintillements contrairement au image au forma PNG. Mais bizarrement moi j'ai besoin d'utiliser pas mal d'image au forma PNG.





--
0
Rejoignez-nous