Executer du code apres le chargement de la fenetre [Résolu]

adnotlegland 53 Messages postés vendredi 7 octobre 2005Date d'inscription 9 avril 2008 Dernière intervention - 6 mars 2008 à 10:39 - Dernière réponse : cs_georges86 13 Messages postés jeudi 27 novembre 2008Date d'inscription 29 novembre 2010 Dernière intervention
- 29 nov. 2010 à 10:28
Bonjour à tous,

ma question est tres simple: on a 2 form, form1 appelle form2 et lorsque form2 a fini de s'afficher elle doit executer des instructions, or en tapant ces instructions dans form2_load les instructions s'executent avant que form2 ne soit affichée.
Je voudrais donc comprendre comment remedier à ce probleme si simple qu'il ne semble pas y avoir de question sur le sujet dans le forum et je ne trouve pas non plus dans les tutos c# :-) 

par exemple avec l'affichage d'une messagebox :

namespace

test_fenetre_chargement
{

public
partial
class
Form2 :
Form
{

public Form2()
{
InitializeComponent();
}

private
void Form2_Load(
object sender,
EventArgs e)
{

MessageBox.Show(
"salut");
}
}
}

on obtient ici l'affichage de la messagebox avant celui de la form alors qu'on voudrait l'inverse...pourquoi docteur ??
Afficher la suite 

8 réponses

Répondre au sujet
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 6 mars 2008 à 10:47
+3
Utile
il faut utiliser l'évènement Shown qui se déclenche une fois la fenêtre affichée

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sebmafate
adnotlegland 53 Messages postés vendredi 7 octobre 2005Date d'inscription 9 avril 2008 Dernière intervention - 6 mars 2008 à 11:04
0
Utile
oki mais comment fais-ton pour generer l'evenement Shown ? J'ai bien trouvé la liste des membres Form dans la doc mais je vois pas comment generer le corps de la methode pour y taper mes instructions... mmmmm comment je faisais sous vb ???
Commenter la réponse de adnotlegland
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 6 mars 2008 à 11:09
0
Utile
c'est pourtant pas compliqué d'ouvrir le designer, d'afficher la liste des évènements et de double cliquer sur le bon...

ou alors :

dans le constructeur :
this.Shown += ....;

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
adnotlegland 53 Messages postés vendredi 7 octobre 2005Date d'inscription 9 avril 2008 Dernière intervention - 6 mars 2008 à 11:30
0
Utile
mais non mais jte promets je la trouve pas cette **** de fenetre sinon j'aurais jamais créé ce post, ca me rend un peu fou pour rien là et puis jtrouve pas dans la doc non plus. Aies un peu pitié et dis moi comment je la trouve cette fenetre parceque je suis sur que c'est sous mon nez en plus
Commenter la réponse de adnotlegland
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 6 mars 2008 à 11:35
0
Utile
Le propertygrid (fenêtre de propriétés) : il y a une icone en forme d'éclair...

Sébastien FERRAND (blog)
Consultant Indépendant
[Microsoft Visual C# MVP]
Commenter la réponse de sebmafate
adnotlegland 53 Messages postés vendredi 7 octobre 2005Date d'inscription 9 avril 2008 Dernière intervention - 6 mars 2008 à 11:38
0
Utile
ha jle savais que je l'avais sous le nez  c'est le petit eclair dans la fenetres de propriétés  désolé de poluer le forum
Commenter la réponse de adnotlegland
cs_georges86 13 Messages postés jeudi 27 novembre 2008Date d'inscription 29 novembre 2010 Dernière intervention - 29 nov. 2010 à 10:24
0
Utile
salut SEBMAFATE,
Sans toute fois te contredire, la méthode shown a un léger souci.
Je pars du fait que je voudrais imprimer une capture de mon formulaire, mais juste a son chargement.
Pendant le chargement cela imprime une fenetre noire , normal car tous les composants ne sont pas chargés.
Après chargement ie ton évènement SHOWN il imprime le formulaire mes les controlles (label, textbox etc... ) eux sortent en noir.
Que faire donc. N ya til un autre évènement plus approprié?
imprimer le formulaire en cours sans aucun clic, mais juste après chargement de la page et ceux automatiquement
Commenter la réponse de cs_georges86
cs_georges86 13 Messages postés jeudi 27 novembre 2008Date d'inscription 29 novembre 2010 Dernière intervention - 29 nov. 2010 à 10:28
0
Utile
j'ai résolu le problème mon ami.
Je rafraichit la fenetre dans le shown et aussi j'attends meme une seconde de plus avant de lancer l'impression. car en principe je voudrais imprimer
plusieurs fois la meme form avec des valeurs différentes.
Encore de ton évènement shown.
Commenter la réponse de cs_georges86

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.