Je suis en train de faire un projet de communication série et j'aimerais que la chaîne reçue entre dans une zone de texte en fonction du bouton sur lequel on a cliqué pour envoyer la chaîne initiale et invoquer une réponse.Comment mettre du texte en série reçu dans plusieurs zones de texte?
Le code pour le ReceivedText est:
PrivateSub ReceivedText(ByVal [text] As String)
Button1.Clear()
Button2.Clear()
If Button1.InvokeRequired Then
RichTextBox1.text = [text].Trim("!")
End If
If Button2.InvokeRequired Then
RichTextBox2.Text = [text].Trim("!")
End If
EndSub
Il en résulte que dans la chaîne reçue d'entrer dans les deux des cases au lieu de l'un ou l'autre.
Y a-t-il un moyen de faire aller le texte dans la case appropriée?
Que doit faire votre méthode Clear? Ce n'est pas un membre d'un type de bouton standard. Néanmoins, si vous ne pouvez pas distinguer du texte de réponse quel bouton a été poussé, alors je vois au moins quelques options. Le plus simple est la variable publique qui contient le bouton sur lequel on a cliqué. – topshot
Cependant, cela ne fonctionnera pas si vous pouvez appuyer sur les deux boutons en même temps ou avant qu'une réponse soit lue à partir d'une commande précédente. Si c'est une exigence, alors vous commencerez un thread pour chaque appui sur un bouton et passerez dans une classe qui contient le nom du bouton et la commande comme la réponse acceptée sur http://stackoverflow.com/questions/30162382/how-can-i- create-a-new-thread-addressof-a-function-with-parameters-in-vb afin que vous puissiez relire le nom quand il a fini. – topshot
@topshot J'ai corrigé la méthode Clear et l'ai placée dans la ligne appropriée. Je suis très nouveau à ce sujet et je ne suis pas familier avec le filetage, y at-il un exemple que vous pouvez fournir? J'imagine que c'est assez simple d'avoir une chaîne reçue à un certain endroit en fonction du bouton sur lequel on a cliqué ... –