在可以调用 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 问题解决

posted @ 2012-11-18 15:37  linjianlong  阅读(2114)  评论(0)    收藏  举报