Mise à jours d'une form à la fermeture d'une autre [Résolu]

Messages postés
10
Date d'inscription
vendredi 27 février 2004
Dernière intervention
31 mars 2009
- - Dernière réponse : LUDINSKI
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Dernière intervention
22 mai 2012
- 1 mai 2011 à 23:07
Bonjour, je souhaiterais savoir si quelqu'un aurait une petite solution à me porposer.

Je cherche à déclancher une mise à jours d'une winform parent à la fermeture d'une autre....

Je sais pas si je suis clair mais je vais essayé de l'être un peu plus . En gros, je charge une première fiche qui me permet d'afficher un datagrid, lorsque je clique sur une ligne cela me charge une fiche contenant toutes les informations qui sont modifiables . Je fais mes modifications je valide et cela me ferme ma fenêtre mais j'aimerais pouvoir déclancher un rechargement de la première winform à ce moment précis.

Mon problème est que je ne trouve pas de zone de propriété qui permettrais de dire que lorsque la fiche repasse en premier plan qu'elle se rafraichisse ...

Auriez vous des suggestions ???
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
1863
Date d'inscription
lundi 28 novembre 2005
Dernière intervention
14 février 2015
1
Merci
Salut.
Si tu ne souhaites pas que ta première form soit utilisable pendant que ta deuxième est ouverte, il y a plus simple encore.
form.Show(); // Non bloquant
form.ShowDialog(); // Bloquant jusqu'à la fermeture de la fenêtre

Tu peux donc faire :

Form2 newForm = new Form2();
newForm.ShowDialog();
this.Refresh();

Krimog :
while (!succeed = try()) ;

Merci krimog 1

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de krimog
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Dernière intervention
10 juin 2010
0
Merci
il te suffirait de t'attacher à l'event formclosed et dans le delegate, tu fais le refresh de ta form
Commenter la réponse de GillouXman
Messages postés
10
Date d'inscription
vendredi 27 février 2004
Dernière intervention
31 mars 2009
0
Merci
si je m'attache .... avec une corde tu veut dire ?

Tu aurais pas un exemple plus précis, je suis loin d'être un pro et la gestion des delegates je connais pas trop ...
si tu connais un site avec un tuto ou autre ... ca pourrait m'aider .
Commenter la réponse de asuchi
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
0
Merci
Bonjour,

Voici comment te "binder" sur l'événement "FormClosed" de ta deuxième form.
Ainsi, tu pourras exécuter le rafraîchissement de ta page.

Pour ce faire:
private void button1_Click(object sender, EventArgs e)
{
  Form2 newForm = new Form2();
  newForm.FormClosed += new FormClosedEventHandler(newForm_FormClosed);//Bind de l'événement FormClosed avec l'exécution d'une méthode
  newForm.ShowDialog();
}

La méthode:
//Déclenchée par l'événement FormClosed de la Form2
private void newForm_FormClosed(object sender, FormClosedEventArgs e)
{
  this.Refresh();//A implémenter...
}

Voila tout,

Bonne journée

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Commenter la réponse de billou_13
Messages postés
10
Date d'inscription
vendredi 27 février 2004
Dernière intervention
31 mars 2009
0
Merci
Alors je sais pas trop si j'ai tous compris mais lorsque tu ferme le new form, tu déclanche le refresh du this. qui correspond pour moi au this de new form ... j'arrive pas à l'implementé de manière à ce qu'il corresponde au this de ma form principal....
Commenter la réponse de asuchi
Messages postés
10
Date d'inscription
vendredi 27 février 2004
Dernière intervention
31 mars 2009
0
Merci
Merci à tous de vos réponces ... sérieusement je commencais à m'arracher les cheveux ... en effet le show dialogue bloquant la suite ... il m'a suffit de créer ma méthode de refresh (j'ai enfin compris ce que billout me disait en précisant // à implémenter ... je croyais qu'une fonction existait ... que je trouvais pas ^^) enfin ca marche !!!
Commenter la réponse de asuchi
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Dernière intervention
19 août 2014
0
Merci
De rien. Bon courage pour la suite,

Une chose quand même: Billou sans "t" stp Car je ne suis ni nordiste ni une billoute

Bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Commenter la réponse de billou_13
Messages postés
1
Date d'inscription
mardi 16 novembre 2004
Dernière intervention
1 mai 2011
0
Merci
Bonjour,
pour ma part jai le meme soucis, jai fait plusieur recherche sur le net et sur msdn et en vain mon refresh ne se fait pas .

jai initialiser un Form1_Load et mis un FormClosing event et sa ne fonctionne toujour pas

voici la structure :

private void Form1_Load(object sender, EventArgs e)
{
//je load ma class_lib ici
}

private void btnCreateLogAndPass_Click(object sender, EventArgs e)
{
LoginAndPass logAndPass = new LoginAndPass();
logAndPass.FormClosed +=new FormClosedEventHandler(logAndPass_FormClosed);
logAndPass.ShowDialog();
}

private void logAndPass_FormClosed(object sender, FormClosedEventArgs e)
{
this.Load +=new EventHandler(Form1_Load);
}

Quand je regarde en mode Debog je voi que mes event se passe bien sauf (this.Load +=new EventHandler(Form1_Load);
) ne se fait pas ???
Jai meme essyer avec this.Refresh(); et meme chose. Si vous avez une idée ou un petit truc je suis preneur.
merci
Commenter la réponse de cs_tapias
Messages postés
441
Date d'inscription
mardi 2 décembre 2003
Dernière intervention
22 mai 2012
0
Merci
Salut,

Lorsque logAndPass se ferme, ton Form1 est déjà chargé... donc, l'évènement Load ne se déclenchera pas... Que souhaites tu faire exactement ?
Commenter la réponse de LUDINSKI

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.