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

C# Discussion :

Valeur de Retour d'une Form : la bonne methode ?


Sujet :

C#

  1. #1
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut Valeur de Retour d'une Form : la bonne methode ?
    Bonjour

    J'ai besoin apres l'appel d'un Form.ShowDialog() de savoir si un traitement a été effectué dans la form

    Actuellement j'ai résolu la chose en définissant une variable public dans la form et en testant sa valeur au retour, ca donne +/- ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MaForm testForm=new MaForm();
    testForm.ShowDialog();
    int Processed=testForm.ProcessValue;
    Ca marche bien mais est-ce acceptable ?
    Je craignais entre autre que ma form soit disposée et que testForm.ProcessValue ne soit plus accessible ?

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 194
    Points
    5 194
    Par défaut
    Salut

    Tant que tu n'as pas quitté le bloc ou se trouve la création, c'est bon
    (cela dit, tu ferais un using... car ne marcherait pas forcément bien !!!

    Après, une autre "solution" serait que tu fasses une méthode genre :

    int Processed = testForm.Display();

    et dans le display, tu feras un return de la valeur souhaité ainsi que ShowDialog()...

    The Monz, Toulouse

  3. #3
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    ca dépend de comment tu fermes ta fenetre

  4. #4
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut

    Je ne suis pas sur ....

    J'ai encore un peu investigué
    Je pense que si on fait un ShowDialog();

    La form ne se dispose que explicitement ou dans un using !
    Donc ma methode ne cours pas de risque a priori !

  5. #5
    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
    Un formulaire affiché avec ShowDialog n'est pas disposé automatiquement. Si tu veux libérer la mémoire d'un form, il faut explicitement appeler Dispose sur l'instance du formulaire. C'est lié au fait qu'un formulaire modal n'est pas fermé quand le ShowDialog retourne, il est simplement masqué.

    D'ailleurs pour tous ceux qui utilisent des form modaux, il faut explicitement appeler Dispose après le ShowDialog.

  6. #6
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    de toute facon, dans qu'on ne ferme pas la fenetre, ca ne pas à la suite dans le code
    après faut voir si dispose désaffecte les variables ou si c'est la mise à nothing (sortir de la sub qui contient le showdialog)
    finalement je pense que c'est la mise à nothing donc que ca le fait

  7. #7
    Membre émérite
    Profil pro
    Mangeur de gauffre
    Inscrit en
    Octobre 2007
    Messages
    4 413
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Mangeur de gauffre

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 413
    Points : 2 498
    Points
    2 498
    Par défaut
    Salut Sperot

    Tu apprends une nouvelle langue ?

  8. #8
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    on ne se moque, c'est de la faute de mon dell de merde
    y a un bouton pour activer ou non le wifi et au bout d'un an le bouton prend du jeu et ca fait du ctrl z sans prévenir on dirait ...
    (sur le bureau j'ai tout mes icones qui réduisent comme un controle + molette)
    (si quelqu'un a une solution ^^)

    ennervé, j'ai tenté le ctrl y sans relire ...
    mais avec un peu d'imagination on comprend ce que je voulais dire

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

Discussions similaires

  1. valeur de retour avec une form
    Par nath-0-0 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 13/04/2010, 13h07
  2. [D2005 VLC] Valeur de retour d'une application
    Par dacid dans le forum Langage
    Réponses: 11
    Dernier message: 04/10/2005, 14h45
  3. Valeur de retour d'une procédure stockée
    Par Rudyweb dans le forum MFC
    Réponses: 4
    Dernier message: 25/02/2005, 18h52
  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, 18h16
  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, 17h45

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