1

我在添加一些picture boxes. 我有一个form(和它的类)和一个单独的类。我想做的就是把picture boxes我第二堂课的一些东西放在 中form,但似乎我就是不知道怎么做。哦,我不想把图片框从第二类发送到主类,然后在那里添加,而是直接添加它。如果我尝试类似:

Form1.ActiveForm.Controls.Add(x); 

(其中 x 是我的图片框)从第二堂课我得到了'Cross-thread operation not valid'例外。

感谢您的任何建议!

4

1 回答 1

0

您是否尝试在非 UI 线程上运行显示您的图片?通常这就是你如何获得跨线程操作无效异常。

您可能需要在课堂上简单地执行以下操作。

if (this.InvokeRequired)
{
   this.Invoke(() => ActiveForm.Controls.Add(x));
}
else
{
   ActiveForm.Controls.Add(x);
}

这将确保您使用 UI 线程来执行您的代码。

于 2013-03-17T21:32:13.720 回答