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 :

Saisie non prise en compte avec Textbox [Débutant]


Sujet :

C#

  1. #1
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 2
    Points : 5
    Points
    5
    Par défaut Saisie non prise en compte avec Textbox
    Bonjour,

    Alors voilà, j'ai crée un petit programme qui fonctionne trés bien en mode console. J'ai donc décidé de l'adapter pour une application windows avec juste un textbox seulement et pas de bouton de validation.
    Mais lorsque je veux récupérer la réponse de l'utilisateur en faisant rep= textBox1.Text, le programme ne prend pas en condidération la saisie de l'utilisateur et rep reste vide.

    Voici un bout du code qui vous aidera mieux à appréhender le problème:
    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
    private void textBox1_TextChanged(object sender, EventArgs e)
            {             
                string rep = "";
                bool resultat = false;
                string myConnectionString = @"Data Source=USER-MSI\SQLEXPRESS; Initial Catalog=mabdd; Integrated Security=True; Pooling=False";
                string strRequete = "select nom from info";
                SpeechSynthesizer speaker = new SpeechSynthesizer();
                SqlConnection myConnection = new SqlConnection(myConnectionString);
                myConnection.Open();
     
                speaker.Speak("Bonjour");
     
                while (rep != "stop")
                {
                    SqlCommand myCommand = new SqlCommand(strRequete, myConnection);
                    speaker.Speak("Je t'écoute");
                    rep = textBox1.Text;

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Points : 1 327
    Points
    1 327
    Par défaut
    Bonjour,

    Dans quelle fonction/événement se situe ce code ?
    Actuellement on doit parcourir le while je ne sais combien de fois pas seconde, est-ce bien nécessaire, ne faudrait-il pas plutôt lancer le traitement que lorsque le text de la textbox a changé (événement textchanged) ?

  3. #3
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    Déjà deux critiques : faire de l'accès aux données dans l'ihm c'est TRES MAL. Même si tu n'es pas partisan d'une architecture en couche, ce n'est pas au code behin de faire les traitements DB.
    Crée-toi des classe qui "travaillent" et font ce traitement. C'est le minimum. Actuellement, la mode est au développement 4 couches Présentation, BL, DTO, DAL.

    Ensuite tu satures ta DB avec tous ces accès, en cas d'accès à la DB par plusieurs utilisateur ton serveur tombe !

    Enfin, Comme ta boucle est dans le thread de l'Ihm, une fois la première lettre saisie dans le txt, on entre dans ta boucle et hop, boucle infinie ! (si je ne m'abuse).

    Met un point d'arrêt au début de ta méthode et regarde ce qu'il se passe. Tu comprendras le problème.

  4. #4
    Futur Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    Tout d'abord, merci à vous deux de m'avoir répondu et aiguiller dans la résolution du problème.
    Le problème venait bien en fait de la boucle while, là où elle avait toute son importance en mode console, elle ne l'était plus pour une application windows avec une textbox.
    Alors pour résoudre le problème, j'ai tout simplement supprimer la boucle while et ajouter un button afin de valider chaque saisie de l'utilisateur.

    ps: Kheironn, je prend note de tes critiques constructives (il n'y a que comme ça que l'on puisse progresser)

    Encore merci à vous deux, et bonne année 2012!!!

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

Discussions similaires

  1. modification non prise en compte avec PDO
    Par kate59 dans le forum Langage
    Réponses: 7
    Dernier message: 30/09/2010, 15h02
  2. Non prise en compte de certaines conditions avec Fonction SI
    Par argaz01 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 14/06/2010, 08h10
  3. CSS non prise en compte avec un innerHTML
    Par Thewil dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/05/2009, 09h11
  4. [cURL] Non prise en compte des cookies avec librairie curl
    Par jpascal dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 02/12/2007, 20h06
  5. Lecture de fichier - dernière ligne non prise en compte
    Par JulienPles dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h57

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