在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式
错误内容:在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记
引起原因:多线程异步调用或者创建新窗体时,出现该错误;
解决方法:
1、修改main函数 ,前面添加[STAThread]标示(貌似IDE默认)
[STAThread]
static void Main()
2、在线程创建处设置模式属性ApartmentState
例如:System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(SaveName));
t.SetApartmentState(ApartmentState.STA);//或者t.ApartmentState =ApartmentState.STA
t.Start();
OK 问题解决

浙公网安备 33010602011771号