C# new WebBrowser 提示:当前线程不在单线程单元中,因此无法实例化

this.webBrowser1 = new System.Windows.Forms.WebBrowser();
----
运行这句,系统提示“当前线程不在单线程单元中,因此无法实例”,我在网上搜索了很多,但都没能成功,希望那位大哥能给段代码参考一下。
是采用跨线程访问,但不知道如何实现
附上我的邮箱:delver#live.cn

可能是this.webBrowser1 = new System.Windows.Forms.WebBrowser();这句所在的线程与this.webBrowser1定义的线程不同吧。
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-06-18
public Form1()
{
InitializeComponent();
Form1.CheckForIllegalCrossThreadCalls = false;
}
这样就不会报错了
第2个回答  2009-06-04
是否跨线程访问了webBrowser1 ??

关于C# WebBrowser 当前线程不在单线程单元中,因此无法实例化 的...
dll里的WebBrowser 调用了Navigate 而这个DLL启用的线程导致的这个错误,通过委托的方式解决,只要是跨线程刷新界面都会出错, 意思是只要线程了使用的数据赋值到界面上都会出现这样的错误.都可以通过委托解决!改写Navigate :public delegate void DelUserHandler(string url);public void NavigateUrl(string u...

当前线程不在单线程单元中,因此无法实例化 ActiveX 控件,应该怎么...
dll里的WebBrowser 调用了Navigate 而这个DLL启用的线程导致的这个错误,通过委托的方式解决,只要是跨线程刷新界面都会出错, 意思是只要线程了使用的数据赋值到界面上都会出现这样的错误.都可以通过委托解决!改写Navigate :public delegate void DelUserHandler(string url);public void NavigateUrl(string u...

当前线程不在单线程单元中,因此无法实例化 ActiveX 控件
参考答案:当父母老了:不要责难他们大小便失禁弄脏了衣裤,他们也曾因此为你擦屎端尿;不要怪他们弯腰驼背脚步迟缓,他们也曾扶着你直起腰杆蹒跚学步;不要嫌弃他们把饭菜与口水流在衣服上,他们也因此为你喂过饭;不要烦他们言语唠叨含混不清,因为你曾牙牙学语,叽叽喳喳,他们却当动听歌来听。

c#webbrowser 判断是否能打开网页
MessageBox.Show("程序忙,请稍后!", "提示");} 或者(不能用在线程中)while (webBrowser1.ReadyState == WebBrowserReadyState.Complete){ StartKiller();MessageBox.Show("程序忙,请稍后!", "提示");}

您好,请教关于dll中的activex控件实例化出错的问题
我最近也在做DLL的active控件,引用后偶尔也会出问题 一般出无法实例化,就是两种:1.本身JS的问题,使得OBJECT实例化之前就出了JS错误.2.本身OBJECT初始化失败.看您这问题完全就要在C#的程序中找了

c# 创建多线程失败
因为UI控件操作不是线程安全的 如果要通过线程更改UI,需要使用invoke来做 1.在Form里写一个更改UI的函数 2.声明一个代理,这个代理可以代理这个更改UI的函数 3.函数内部 if(this.label4.invokerequied)\/\/判断是否需要invoke操作 { \/\/实例化此函数自身的代理 \/\/如果此函数有参数,需要创建一个数组,...

C#多线程打开网页
private void button1_Click(object sender, EventArgs e){ for (int i = 0; i < 3; i++){ Thread th = new Thread(new ThreadStart(Run));th.Start();} } void Run(){ index++;System.Diagnostics.Process p = new System.Diagnostics.Process();p.StartInfo.FileName = "iexplore";...

Windows Service 中使用 ocx 控件
可能没有办法在service这样的后台无界面的程序里创建。如果service是必须的,那么就试试搞一个remoting服务器,用一个winform程序做宿主,然后在这个程序里实现功能。service通过remoting向这个程序发信息。或是通过消息队列向一个winform程序发信息,由这个winform程序来创建ocx,完成显示。

当前线程不在单线程单元中,因此无法实例化 ActiveX 控件,应该怎么...
dll里的WebBrowser 调用了Navigate 而这个DLL启用的线程导致的这个错误,通过委托的方式解决,只要是跨线程刷新界面都会出错, 意思是只要线程了使用的数据赋值到界面上都会出现这样的错误.都可以通过委托解决!改写Navigate : \\x0d\\x0apublic delegate void DelUserHandler(string url); \\x0d\\x0a\\x0...

相似回答