IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Echange de données entre des Windows Forms


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Points : 144
    Points
    144
    Par défaut Echange de données entre des Windows Forms
    Hello

    C'est peut-être trivial comme question mais je bloque total ...

    J'ai un Windows Form principal qui appelle un Windows Forms secondaire dans lequel l'utilisateur règle des paramètres (c'est en fait une classique fenêtre "Préférences / Options").

    Comment faire pour les paramètres ainsi réglés soient renvoyés dans le Windows Form principal lorsque le Windows Forms secondaire est fermé ??? (PS : En utilisant la méthode .Showdialog(), je n'y arrive pas ...)

    Merci d'avance !

  2. #2
    AP
    AP est déconnecté
    Membre confirmé
    Avatar de AP
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 480
    Points : 538
    Points
    538
    Par défaut
    il y a plusieurs moyens d'y parvenir:
    - soit définir une propriété dans ta fenêtre fille que tu positionneras avant ton showdialog
    - soir définir un objet singleton qui contiendra tes paramètres (c'est mieux)

  3. #3
    Membre régulier

    Profil pro
    Inscrit en
    Février 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 101
    Points : 121
    Points
    121
    Par défaut
    Bonsoir,
    Je bloque sur le meme probleme que toi. J'ai trouvé une solution qui marche bien. Essaye de voir la question Form mère et fille et je propose une solution. J'espère que cela vas pouvoir t'aider, mais pour moi après un soucis de regler un autre arrive.
    Bon courage
    A+
    Laurent

  4. #4
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    La solution canonique c'est de faire d'ajouter des propriétés à ta Form.
    Elle seront encore accessibles, même après le Close()

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Points : 144
    Points
    144
    Par défaut
    Merci pour vos réponses !

    J'ai finalement opté pour l'ajout de propriétés dans le Form fille et ça marche très bien ...

    Schématiquement cela donne :

    FormFille f = new FormFille();
    f.prop = ValeurDansFormMere;
    f.ShowDialog();
    ValeurDansFormMere = f.prop;

    A propos, pour fermer le Form fille, vaut-il mieux la méthode .Close() ou .Dispose() ?

  6. #6
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Close() est la bonne solution. Dispose() sert à marquer l'objet comme pouvant être libéré, ce qui dans ton cas ferait planter ton appli, vu que tu souhaites accéder à ses propriétés après la fermeture de la fenêtre.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Points : 144
    Points
    144
    Par défaut
    Citation Envoyé par SaumonAgile
    Close() est la bonne solution. Dispose() sert à marquer l'objet comme pouvant être libéré, ce qui dans ton cas ferait planter ton appli, vu que tu souhaites accéder à ses propriétés après la fermeture de la fenêtre.
    Salut

    Tu es sûr ? J'ai fait le test et ça ne plante pas après un .Dispose() ...

  8. #8
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Citation Envoyé par vladvad
    Tu es sûr ? J'ai fait le test et ça ne plante pas après un .Dispose() ...
    Close() est la bonne solution.
    Après un Dispose(), le GC peut passer n'importe quand pour faire le ménage. Ne jamais toucher à un objet quand il a été disposé.

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 264
    Points : 144
    Points
    144
    Par défaut
    OK c'est noté ...

    Comme je récupérais les données du Form fille juste après le Dispose(), voilà pourquoi ça plantait jamais ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Echange de données entre Windows Mobile 6.1 et Windows Server 2008
    Par gibsonSG_76 dans le forum Windev Mobile
    Réponses: 0
    Dernier message: 16/04/2012, 16h04
  2. echange de donnée entre Linux et Windows
    Par ahipoconsty dans le forum Linux
    Réponses: 1
    Dernier message: 06/08/2010, 18h59
  3. Echange de donnes entre form et modalpoup
    Par rrbenez dans le forum ASP.NET
    Réponses: 2
    Dernier message: 18/12/2009, 12h01
  4. Telechargement d'internet et echange de données entre 2 pc
    Par Invité dans le forum Développement
    Réponses: 5
    Dernier message: 09/05/2004, 21h22
  5. [Kylix] Echange de données entre fiches
    Par _dack_ dans le forum EDI
    Réponses: 1
    Dernier message: 01/07/2003, 11h34

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo