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 :

Afficher données d'un port série dans une textBox


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2020
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2020
    Messages : 20
    Par défaut Afficher données d'un port série dans une textBox
    Bonjour à toutes et tous, je débute en C# et je dois créer une petite application "espion" entre 2 port série, pour récupérer les données qui circulent.

    Ma première étape est d'ouvrir un port (j'ai réussi ça pas de soucis), et ensuite d'afficher les données envoyées sur ce port série dans une textBox. Cependant j'arrive bien à récupérer les données envoyée, mais elles ne s'affichent pas dans ma TextBox, la seule façon que j'ai trouvé pour que cela s'affiche c'est de mettre un "MessageBox.Show("...")" après la ligne où je rentre mes données dans la TextBox, sinon cela ne veut pas s'afficher.

    J'aimerai donc que lorsque j'envoie des données à mon port série celles-ci s'affiche dans ma TextBox.

    voici mon code pour la fonction qui permet d'écrire les données dans ma textBox :

    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 dataReceived()
            {
                string data;
                while (true)
                {
                    data = serialPortTest.ReadExisting();
                    if (data.Length != 0)
                    {
                        this.textBox_DataReceived.Text = data;
                    }
                    else
                    {
     
                    }
                }
            }
    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 978
    Par défaut
    Le problème vient de ta boucle infinie.
    Tant que tu boucles, tu bloques la pile de messages et donc l'IHM n'est jamais rafraichie.

    Cela fonctionne avec MessageBox.Show car cette instruction va créer une fenêtre modale qui va interrompre le traitement tant que tu ne l'as pas fermé.
    Du coup, les messages de rafraichissement ont le temps d'arriver et ton IHM se met à jour.

    Une meilleure pratique serait d'écouter le port série depuis un Thread secondaire.
    Il existe de nombreuses façons de précéder.
    Cela va du simple Backgroundworker à une création manuelle de Thread.

Discussions similaires

  1. [XL-2016] Afficher le Label de CheckBox Cochées dans une TextBox
    Par Padawan Pykoda dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 10/07/2018, 15h50
  2. afficher le calcul de 2 dates dans une textbox
    Par popo38 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 07/09/2011, 11h26
  3. Afficher le nom d'un "dossier" dans une TextBox ?
    Par XpFive dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 05/06/2008, 20h05
  4. Réponses: 13
    Dernier message: 29/04/2008, 09h41
  5. Afficher des données dans une textbox
    Par divad dans le forum AWT/Swing
    Réponses: 21
    Dernier message: 27/05/2007, 20h22

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