Bonjour,

Je vous expose mon petit problème.

Mon application communique avec une autre application. Par un simple clic sur un bouton j'envoie un ordre à l'application qui doit me retourner une information dès que cette ordre est réalisé.
Ceci se fait avec le simple code ci-dessous

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 Private Sub Button17_Click(sender As Object, e As EventArgs) Handles Button17.Click
        Try
            Dim ordre As String
            Dim recu As String
            TextBox19.Text = ""
            ordre = TextBox18.Text
            recu = objArduino.CommandString(ordre, False)
            TextBox19.Text = recu
        Catch ex As Exception
            MessageBox.Show("Problème connexion avec l'Arduino.", "Arduino", MessageBoxButtons.OK, MessageBoxIcon.None)
        End Try
    End Sub
Cela fonctionne sauf que :
- en attendant la réponse (pour les plus courtes 1 à 2 secondes) mon appli est bloquée et cela je ne le voudrais pas ;
- pour certaines réponses supérieures à 5 secondes, j'ai ma messageBox qui s'affiche car le délai de réponse est trop long (si je retire le Try, j'ai le message d'erreur Timed out waiting for received data).

Ce que je voudrais c'est que l'attente de la réception de l'information se fasse tranquillement pénard dans son coin et que je puisse utiliser librement mon appli. Lorsque l'info arrive, elle s'affiche dans la textbox.
J'ai lu que cela semble possible mais je n'y comprend rien. Entre les thread, les invoke, les delegate et backgrondworker je ne sais pas par où commencer.

Donc voila, je viens chercher de l'aide.

Merci