我有一个面板,其中包含一个活动 x 组件来显示相机流。这是外部代码。由于相机驱动程序,此面板只能运行 STA 线程。
如何在另一个线程上创建的表单上显示此面板?例如:
[STAThread]
public Main()
{
Panel display = new Panel();
Thread form = new Thread(()=>
{
Form displayForm = new Form();
displayForm.Show();
displayForm.Controls.Add(display);
});
form.Start();
CameraComponent axCamera = new CameraComponent(); //create new camera component active x component
display.Controls.Add(axCamera);
}
但这会引发异常:display.Controls.Add(axCamera);
异常:跨线程操作无效:控制''从创建它的线程以外的线程访问。