我确定这是一个简单的问题。我从串口读取了一些数据,在某个解析点,我需要更新一些状态标签。令人惊讶的是,状态标签是线程安全的......我不知道......
好的,但是状态标签需要包含一些似乎不是线程安全的组合文本
statLabel1.Text = "已连接到 " & cmbPort.text & ",找到并且开心"
所以我试图从任何component.text创建一个“读取安全”的功能,但我失败了......
Private Delegate Function ControlGetTextDelegate(ByRef cmp As Control) As String
Public Function ControlGetText(ByRef cmp As Control) As String
Dim s As String = ""
' control invoked from another thread ?
If cmp.InvokeRequired Then ' YES, so call through delegate
Dim dlg As New ControlGetTextDelegate(AddressOf ControlGetText)
cmp.BeginInvoke(dlg, {cmp})
Else ' NO, so call normally
s = cmp.Text
End If
Return s
End Function
有人可以提供一点帮助吗?