3 回答

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超6個(gè)贊
您遇到的問(wèn)題是,大多數(shù)后臺(tái)線(xiàn)程/輔助API都會(huì)以“多線(xiàn)程單元”狀態(tài)創(chuàng)建線(xiàn)程。錯(cuò)誤消息表明控件要求線(xiàn)程是單線(xiàn)程單元。
您可以通過(guò)自己創(chuàng)建一個(gè)線(xiàn)程并在該線(xiàn)程上指定STA公寓狀態(tài)來(lái)解決此問(wèn)題。
var t = new Thread(MyThreadStartMethod);
t.SetApartmentState(ApartmentState.STA);
t.Start();

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果您習(xí)慣[STAThread]了應(yīng)用程序的主條目,但仍然收到錯(cuò)誤,則可能需要對(duì)控件進(jìn)行線(xiàn)程安全調(diào)用 ……如下所示。對(duì)于我來(lái)說(shuō),同樣的問(wèn)題,以下解決方案有效!
Private void YourFunc(..)
{
if (this.InvokeRequired)
{
Invoke(new MethodInvoker(delegate()
{
// Call your method YourFunc(..);
}));
}
else
{
///
}
- 3 回答
- 0 關(guān)注
- 898 瀏覽
添加回答
舉報(bào)