我无法在我的表单中使用Web浏览器。当我运行时,我得到此错误ActiveX控件'8856f961-340a-11d0-a96b-00c04fd705a2'无法实例化,因为当前线程不在单线程单元中。
我需要将表单designer.cs文件发送到此文本this.webBrowser2 = new System.Windows.Forms.WebBrowser();而我真的不知道如何让浏览器工作。
我在Program.cs文件中尝试了MTAThread和STAThread似乎无法使其工作。
由于
答案 0 :(得分:2)
您需要将线程标记为STAThread
,因为COM控件需要公寓状态。
有两种简单的方法可以做到这一点:
[STAThread]
属性标记您的线程入口点(线程开头的函数)。如果您没有在入口点上设置它,而是在调用堆栈中的其他方法上设置它,则不会应用此属性。STAThread
Thread.SetApartmentState()