Problème d'actualisation [Résolu]

Signaler
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015
-
blackcatthc
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015
-
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

Messages postés
378
Date d'inscription
samedi 22 septembre 2012
Statut
Membre
Dernière intervention
13 août 2017
13
Bonjour blackcatthc

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

Cordialement.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
220
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
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
46
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
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015

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.
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015

Bonjour Zermelo

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

--
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
46
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 ?
Messages postés
86
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
1 avril 2015

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.





--