C#调用错误的目标

时间:2014-01-24 10:42:09

标签: c# multithreading serial-port invoke begininvoke

多线程时使用“Invoke”或“BeginInvoke”时遇到问题。

我有一个串行端口的DataReceived事件,我正在从它写入一个标签,它完全有效,但当我打开另外2个相同的表单时,invoke方法发送到错误的表单。

if (this.rpmLbl.InvokeRequired)
{
  this.rpmLbl.BeginInvoke(this.myDelegates[1], new Object[] { val.ToString() });
}

按下按钮时,每个表单的datareceived处理程序启动:

RTAutoAppObj.comPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandlerChart);

知道它可能导致错误的表单调用吗?

0 个答案:

没有答案