Я читаю значение температуры из трансивера в последовательный порт, и я хочу, чтобы это значение изменило значение метки в моей форме Visual Basic. Это значение меняется каждые несколько секунд. Я использую ниже код:Текст ярлыка Overwrite Visual Basic
Me.dataReceived.Text &= [text]
где DataReceived это метка, я использую и [текст] это данные Читаю из последовательного порта. Это приводит к отображению данных, но вместо того, чтобы перезаписывать метку, она записывает значение после друг друга. (Данные прилагаются). Я попытался удалить & перед =, но это не сработало, поскольку ничего не появилось. Любые идеи о том, что я могу сделать?
код я использую следующее:
'To receive data into the text field
Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
While (SerialPort1.IsOpen)
ReceivedText(SerialPort1.ReadExisting()) 'This is called automatically every time data is received at the Serial Port
End While
End Sub
Private Sub ReceivedText(ByVal [text] As String)
Dim temperature As String
'This function compares the creating Thread's ID with the calling Thread's ID
If Me.dataReceived.InvokeRequired Then
Dim x As New SetTextCallback(AddressOf ReceivedText)
Me.Invoke(x, New Object() {(text)})
Else
'To output to the text box:
Me.dataReceived.Text = text
'To output to the label
temperature = text
Me.temp.Text = text
hmd.Text = temperature
End If
End Sub
Символ & = означает добавить, = должен работать –
Попробуйте удалить квадратные скобки вокруг текста в ваших параметрах. У вас есть опция Strict on? – APrough
Что такое Strict? –