Mise à jours d'une form à la fermeture d'une autre

Résolu
asuchi Messages postés 10 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 31 mars 2009 - 25 mars 2009 à 11:19
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre 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 ???
A voir également:

9 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
26 mars 2009 à 10:18
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()) ;
1
GillouXman Messages postés 561 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 10 juin 2010
25 mars 2009 à 11:27
il te suffirait de t'attacher à l'event formclosed et dans le delegate, tu fais le refresh de ta form
0
asuchi Messages postés 10 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 31 mars 2009
25 mars 2009 à 13:21
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 .
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
25 mars 2009 à 13:41
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
---------------------
0

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

Posez votre question
asuchi Messages postés 10 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 31 mars 2009
26 mars 2009 à 10:32
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....
0
asuchi Messages postés 10 Date d'inscription vendredi 27 février 2004 Statut Membre Dernière intervention 31 mars 2009
26 mars 2009 à 11:28
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 !!!
0
billou_13 Messages postés 860 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 19 août 2014 29
26 mars 2009 à 11:36
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
---------------------
0
cs_tapias Messages postés 1 Date d'inscription mardi 16 novembre 2004 Statut Membre Dernière intervention 1 mai 2011
1 mai 2011 à 19:55
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
0
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
1 mai 2011 à 23:07
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 ?
0
Rejoignez-nous