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 :

Bloquage après exécution [Débutant]


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2014
    Messages : 13
    Points : 13
    Points
    13
    Par défaut Bloquage après exécution
    Bonjour !

    Voici mon problème :

    J'ai créé un programme simple de conversion de devise afin d'apprendre le C# (pour mon stage).

    Avec : -deux RadioButtons, un pour de l'€ vers le Francs et inversement.
    -deux TextBoxs, la somme à convertir et le résultat de la conversion.
    -Un Button pour exécuter la conversion.

    Lors de l'exécution, le button pour convertir applique bien le code et sort le bon résultat quelque soit le sens de conversion choisi.
    Cependant, je ne peux plus re-convertir après une première exécution.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     private void m_convertir_Click(object sender, EventArgs e)
            {
                try
                {
                    Program p = new Program(Double.Parse(TB_entree.Text, 0)
                        , Double.Parse(TB_sortie.Text, 0));
     
                    //Checking Radio Buttons
                    if (RB_toEuro.Checked){
                        //Conversion
                        p.convertirFunctionFtoE();
                        //Envoi du résultat de la conversion
                        TB_sortie.Text = p.sortieToString();
                    }
     
                    if (RB_toFranc.Checked){
                        //Conversion
                        p.convertirFunctionEtoF();
                        //Envoi du résultat de la conversion
                        TB_sortie.Text = p.sortieToString();
                    }
                }
                catch (FormatException f) {
                    TextWriter errorWriter = Console.Error;
                    errorWriter.WriteLine(f.Message);
                }
            }
    Je ne vois pas ce que je peux faire car logiquement, la fonction s'applique à chaque clic.

    Merci d'avance de votre aide =)

  2. #2
    Membre confirmé Avatar de Jabbal'H
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2004
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2004
    Messages : 403
    Points : 580
    Points
    580
    Par défaut
    Tu passe dans le code ? T'as essaye en debug pas à pas.
    Sinon une petite remarque, je pense que tu ne peux pas avoir les deux radio bouton de selectionné, donc un else suffit plutot que de re tester le cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    if (RB_toEuro.Checked){
                        //Conversion
                        p.convertirFunctionFtoE();
                        //Envoi du résultat de la conversion
                        TB_sortie.Text = p.sortieToString();
                    }
     
                    else{
                        //Conversion
                        p.convertirFunctionEtoF();
                        //Envoi du résultat de la conversion
                        TB_sortie.Text = p.sortieToString();
                    }
    " Je préfère comprendre les gens qui ne me comprennent pas "

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2014
    Messages : 13
    Points : 13
    Points
    13
    Par défaut
    Merci pour le conseil du débogage (même si c'est censé être une broutille).
    C'était un problème dans l'initialisation de ma classe Program. Une mauvaise utilisation de la fonction "Double.Parse".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     private void m_convertir_Click(object sender, EventArgs e)
            {
                try
                {
     
                    this.p = new Program(Double.Parse(TB_entree.Text, System.Globalization.NumberStyles.AllowDecimalPoint)
                        , Double.Parse(TB_sortie.Text, System.Globalization.NumberStyles.AllowDecimalPoint));
     
                    //Checking Radio Buttons
                    if (RB_toEuro.Checked){
                        //Conversion
                        p.convertirFunctionFtoE();
                        //Envoi du résultat de la conversion
                        TB_sortie.Text = p.sortieToString();
                    }
     
                    else if(RB_toFranc.Checked){
                        //Conversion
                        p.convertirFunctionEtoF();
                        //Envoi du résultat de la conversion
                        TB_sortie.Text = p.sortieToString();
                    }
                }
                catch (FormatException f) {
                    MessageBox.Show(f.Message);
                }
            }

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

Discussions similaires

  1. [MySQL] Message après exécution d'une requête
    Par Alex70 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 20/09/2007, 14h41
  2. Arrêt de script après exécution
    Par mathieugamin dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/08/2007, 14h56
  3. Revenir sur la cellule sélectionné après exécution d'une macro
    Par Daniel-Gérald dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/02/2007, 21h50
  4. Mémoire après exécution du programme
    Par Woufeil dans le forum C++
    Réponses: 14
    Dernier message: 23/08/2006, 01h33
  5. Réponses: 4
    Dernier message: 16/09/2005, 14h27

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