Executer du code apres le chargement de la fenetre

Résolu
adnotlegland Messages postés 53 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 9 avril 2008 - 6 mars 2008 à 10:39
cs_georges86 Messages postés 13 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 29 novembre 2010 - 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 ??

8 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
6 mars 2008 à 10:47
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]
3
adnotlegland Messages postés 53 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 9 avril 2008
6 mars 2008 à 11:04
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 ???
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
6 mars 2008 à 11:09
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]
0
adnotlegland Messages postés 53 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 9 avril 2008
6 mars 2008 à 11:30
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
0

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

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
6 mars 2008 à 11:35
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]
0
adnotlegland Messages postés 53 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 9 avril 2008
6 mars 2008 à 11:38
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
0
cs_georges86 Messages postés 13 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 29 novembre 2010
29 nov. 2010 à 10:24
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
0
cs_georges86 Messages postés 13 Date d'inscription jeudi 27 novembre 2008 Statut Membre Dernière intervention 29 novembre 2010
29 nov. 2010 à 10:28
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.
0
Rejoignez-nous