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

VB.NET Discussion :

Attendre tant que l'etat d'un textbox reste inchangé


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2009
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 17
    Par défaut Attendre tant que l'etat d'un textbox reste inchangé
    Bonjour,

    Dans le cadre d'un projet de communication série avec un routeur, j'ai besoin d'envoyer une chaine sur le port COM et attendre la réponse du routeur pour pouvoir analyser celle-ci. L'émission/réception fonctionne, quand le programme reçoit des informations sur le port COM sa déclenche un événement et insère le texte reçu dans un TextBox.

    Seulement je suis confronté à un problème, mon TextBox n'est pas encore mis à jour que le programme analyse déjà le TextBox. Donc je cherche à faire patienter le programme jusqu'à ce que le TextBox ait changé. J'ai bien tenté un Thread.sleep(100) mais sa ne fonctionne pas. Je pense que la solution doit se trouver du coté du multi-threading mais je ne comprend pas vraiment comment implémenter ceci dans mon programme.

    Voici mon code complet :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            CheckForIllegalCrossThreadCalls = False
            AddHandler SerialPort1.DataReceived, AddressOf SerialPort1_DataReceived
            Try
                SerialPort1.Open()
            Catch ex As Exception
                MsgBox("Impossible d'ouvrir le port COM")
            End Try
     
        End Sub
     
        Public Sub send(ByVal texte As String)
            SerialPort1.Write(texte)
        End Sub
     
        Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs)
            If SerialPort1.IsOpen = True Then
                Read()
            End If
        End Sub
     
     
        Private Sub Read()
            If SerialPort1.IsOpen Then
                Dim data As String = SerialPort1.ReadExisting()
                Me.RichTextBox1.Text += data
            End If
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            send(vbLf)
            'Attendre que RichTextBox.text change avant de continuer
        End Sub
    End Class
    Merci d'avance pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    55
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 55
    Par défaut
    Regarde du coté de l'event textchanged ça devrait etre la solution :
    https://msdn.microsoft.com/fr-fr/lib...vs.110%29.aspx

Discussions similaires

  1. Empêcher la tabulation tant que la TextBox n'est pas saisie
    Par NEC14 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/07/2010, 22h14
  2. Réponses: 2
    Dernier message: 17/06/2009, 23h42
  3. Licence MySql en tant que BD dans une application web
    Par Volta dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 26/02/2004, 14h38
  4. [] [Winsock] Pb si je me déconnecte en tant que client
    Par vbcasimir dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 29/04/2003, 18h42
  5. [DROIT] Droits d'auteurs moraux en tant que salariés ?
    Par malotte dans le forum Juridique
    Réponses: 14
    Dernier message: 13/02/2003, 15h56

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