Я делаю проект последовательной связи и хотел бы, чтобы полученная строка попала в текстовое поле, на основе которого была нажата кнопка, чтобы отправить начальную строку и вызвать ответ.Как поместить полученный серийный текст в несколько текстовых полей?
Код для ReceivedText является:
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
Это только приводит к полученной строки вдаваясь в как коробки вместо одного или другого.
Есть ли способ получить текст в соответствующем поле?
Каким должен быть ваш метод Clear? Это не является стандартным типом кнопки. Тем не менее, если вы не можете отличить текст ответа от нажатия кнопки, я вижу, по крайней мере, пару вариантов. Simplest - это общедоступная переменная, в которой нажата кнопка. – topshot
Однако это не сработает, если вы можете нажать обе кнопки одновременно или до того, как ответ будет прочитан из предыдущей команды. Если это требование, вы должны начать поток для каждой кнопки, нажав и передать класс, содержащий имя кнопки и команду, как принятый ответ по адресу http://stackoverflow.com/questions/30162382/how-can-i- create-a-new-thread-addressf-a-function-with-parameters-in-vb, чтобы вы могли прочитать имя, когда оно закончилось. – topshot
@topshot Я исправил метод Clear и поместил его в соответствующую строку. Я очень новичок в этом и не знаком с потоками, есть ли пример, который вы можете предоставить? Я бы предположил, что довольно просто получить полученную строку в определенном месте, на основе которой была нажата кнопка ... –