0
我刚添加了一个ElementHost到一个Windows窗体(表单中还有一些其他的C#代码)。然后它给了我错误“调用线程必须是STA,因为很多UI组件都需要这个。”我改变了线程到STA,但它阻止了其他东西......反正有没有触及任何其他代码使元素工作?ElementHost给我“调用线程必须是STA,因为很多UI组件都需要这个。”
这里是我的代码怎么改线:
public UCClientSummary()
{
InitializeComponent();
Thread thread = new Thread(createElementHost);
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
thread.Join();
}
public void createElementHost()
{
ElementHost elementHost = new ElementHost();
elementHost.Dock = DockStyle.Fill;
LDControls.ucCell uc = new LDControls.ucCell();
elementHost.Child = uc;
this.Controls.Add(elementHost);
}
谢谢马里奥。我会尝试。 – Sen 2010-11-04 13:58:36