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 :

[C#] [debutant] Valeur de retour d'une fenetre


Sujet :

Windows Forms

  1. #1
    Membre expérimenté Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Par défaut [C#] [debutant] Valeur de retour d'une fenetre
    Salut,

    J'aimerais juste renvoyer une valeur de retour ( de type booleenne ) à la fermeture d'une fenetre.

    Merci

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 10
    Par défaut
    Euh, changer la valeur d'un booleen quand la fenêtre se ferme ou tester que la fermeture s'est bien passée ?

    Dans le premier cas, événement FormClosing (ou FormClosed)
    et le deuxième cas, un try - catch semble plus adapté.

  3. #3
    Membre expérimenté Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Par défaut
    C'est la première option.

    En tout cas je teste.

    merci

  4. #4
    Membre expérimenté Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Par défaut
    J'ai un souci.

    L'evenement FormClosing se passe dans sa propre fenetre...

    en fait je voudrais faire un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    bool result = new fIdentification();
    if (result){
     ....
    }
    else {
     ...
    }
    Ya t il des tutos assez simple et complet sur le C# que vous me conseilleriez
    merci

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 10
    Par défaut
    Euh, si je suis votre raisonnement, quand la fenêtre se ferme vous souhaitez executer des actions. Dans ce cas, executez votre code directement dans l'événement FormClosed (il ferme la fenêtre et ensuite execute le code.)

    Le code présent dans le else est executé tant que la fenêtre est ouverte, dans ce cas, je le mettrai dans l'evenement Form_Load ou...

    Sinon je ne vois pas trop ce que vous souhaitez ?

    Pour les cours, il y en a ici : http://dotnet.developpez.com/cours/
    ainsi que la faq très pratique : http://dotnet.developpez.com/faq/

  6. #6
    Membre expérimenté Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Par défaut
    Non

    En fait, j'ouvre une fenetre à partir d'une autre classe qui attend la fermeture de cette dernière.

    APRES la fermeture de la fenetre, des actions doivent se dérouler.

    Dans mon exemple, c'est une fenetre d'identification.

    En fait je souhaite que ça fasse comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    DialogResult result = MessageBox.Show(_message, _caption, MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1);
     if(result == DialogResult.Yes){ ... }
    else if(result == DialogResult.Cancel) { ... }
    else { ... }
    mais à ma sauce

  7. #7
    Membre éprouvé
    Inscrit en
    Juillet 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 83
    Par défaut
    Et pourquoi justement ne pas faire pareil ?
    Dans l'événement FormClosing ou FormClosed de ton formulaire appelé tu affectes à sa propriété DialogResult la valeur appropriée, et le formulaire appelant disposera ainsi de l'info nécessaire.
    Certes ce n'est pas un booléen, mais la conversion n'est pas très compliquée.

  8. #8
    Membre expérimenté Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Par défaut
    ok, c'est ce que je vais faire.

    Mais il y a pas d'autres moyens ? par exemple si besoin de renvoyer un objet ou autres ?

  9. #9
    Membre éprouvé
    Inscrit en
    Juillet 2005
    Messages
    83
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 83
    Par défaut
    Pour un objet (type référence), tu as l'option d'un passage de paramètre au constructeur du formulaire appelé.

    Pour un type valeur comme un booléen, ça risque d'être plus compliqué sans boxing...

  10. #10
    Membre expérimenté Avatar de fremsoi
    Inscrit en
    Août 2003
    Messages
    201
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 201
    Par défaut
    okay merci

    Je vais regarder sur les tutos pou les "dialogues" entre fenêtre

  11. #11
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Je fais remonter ce topic un peu ancien, mais j'ai à peu près le même problème décrit dans l'avant dernière réponse.

    Depuis un formulaire, j'ouvre un nouveau formulaire en lui donnant des paramètres et je souhaiterais récupérer ces paramètres modifiés à la fermeture de ce 2° formulaire.

    Pour le moment je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Form fNouveauMembre = new fGroupeMembre(cpGroupeCourant);
    fNouveauMembre.Show();
    avec le constructeur du 2° form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public partial class fGroupeMembre : Form
    {
        clGroupe cGpeCourant;
        public fGroupeMembre(clGroupe cGpe)
        {
                InitializeComponent();
                cGpeCourant = cGpe;
        }
    }
    Ensuite je fais mes modifs sur ce cGpeCourant. Et je souhaite à la fermeture du fGroupeMembre récupérer dans le premier formulaire, le clGroupe modifié.

    Merci pour votre aide à tous.

  12. #12
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    Salut,
    c'est simple tu as déjà tout compris vu ton code (ou alors tu l'as leecher quelque part sans le comprendre) car tout est fait dedans il te reste plus qu'a recupere la valeur de "cGpeCourant" de ton 2° formulaire, comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Form fNouveauMembre = new fGroupeMembre(cpGroupeCourant);
    fNouveauMembre.Show();
    clGroupe monNouveauGpeCourant = fNouveauMembre.cGpeCourant;
    mais pour ceci il faut que ton attribut dans ton 2eme form soit public.
    dans ce cas fait toi un accesseur si tu veut eviter que l'on puisse modifier le groupe a travers une autre classe.

  13. #13
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Merci, effectivement cela était tout simple, je ne pensais qu'il pouvait accéder aux valeurs de cete manière.

    Un petit getter et c'est tout bon.
    Lorsque tu parles d'ascenceur, tu peux developper un petit peu. (je ne pense pas en avoir besoin dans l'immédiat, mais pour info )

    Pour le code c'est bien moi qui le fait

    Merci

  14. #14
    Membre chevronné
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    324
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 324
    Par défaut
    je n'ai pas parler d'ascenseur mais d'accesseur.
    En gros c'est ce que tu nomme : "getter" qui permet d'acceder a la valeur d'une variable private telle une fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private int _maVar;
    public int maVar
    {get
    {return _maVar;}
    }

  15. #15
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    oups erreur de lecture, désolé.
    Merci

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

Discussions similaires

  1. Question très bête : récupérer la valeur de retour d'une fct
    Par pekka77 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 28/10/2005, 17h57
  2. [D2005 VLC] Valeur de retour d'une application
    Par dacid dans le forum Langage
    Réponses: 11
    Dernier message: 04/10/2005, 13h45
  3. Valeur de retour d'une procédure stockée
    Par Rudyweb dans le forum MFC
    Réponses: 4
    Dernier message: 25/02/2005, 17h52
  4. [VB6] Valeur de retour pour une Form
    Par preverse dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 17/08/2004, 17h16
  5. Valeur de retour d'une procédure externe
    Par elekis dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 16/04/2004, 16h45

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