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

asuchi 10 Messages postés vendredi 27 février 2004Date d'inscription 31 mars 2009 Dernière intervention - 25 mars 2009 à 11:19 - Dernière réponse : LUDINSKI 441 Messages postés mardi 2 décembre 2003Date d'inscription 22 mai 2012 Dernière intervention
- 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
krimog 1863 Messages postés lundi 28 novembre 2005Date d'inscription 14 février 2015 Dernière intervention - 26 mars 2009 à 10:18
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Commenter la réponse de krimog
GillouXman 561 Messages postés mardi 4 mars 2008Date d'inscription 10 juin 2010 Dernière intervention - 25 mars 2009 à 11:27
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
asuchi 10 Messages postés vendredi 27 février 2004Date d'inscription 31 mars 2009 Dernière intervention - 25 mars 2009 à 13:21
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
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 25 mars 2009 à 13:41
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
asuchi 10 Messages postés vendredi 27 février 2004Date d'inscription 31 mars 2009 Dernière intervention - 26 mars 2009 à 10:32
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
asuchi 10 Messages postés vendredi 27 février 2004Date d'inscription 31 mars 2009 Dernière intervention - 26 mars 2009 à 11:28
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
billou_13 874 Messages postés jeudi 4 mars 2004Date d'inscription 19 août 2014 Dernière intervention - 26 mars 2009 à 11:36
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
cs_tapias 1 Messages postés mardi 16 novembre 2004Date d'inscription 1 mai 2011 Dernière intervention - 1 mai 2011 à 19:55
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
LUDINSKI 441 Messages postés mardi 2 décembre 2003Date d'inscription 22 mai 2012 Dernière intervention - 1 mai 2011 à 23:07
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.