【发布时间】:2023-09-08 20:14:02
【问题描述】:
每当我使用委托在 Windows 窗体中更新 UI 时,都会出现跨线程异常 为什么会这样? 是否为每个委托调用启动了新线程?
void Port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
//this call delegate to display data
clsConnect(statusMsg);
}
protected void displayResponse(string resp)
{
//here cross thread exception occur if directly set to lblMsgResp.Text="Test";
if (lblMsgResp.InvokeRequired)
{
lblMsgResp.Invoke(new MethodInvoker(delegate { lblMsgResp.Text = resp; }));
}
}
【问题讨论】:
-
请发布完整的例外情况。
-
clsConnect 调用 displayResponse?
标签: c# delegates multithreading