.net winform 调用类中的webbrowser 报错:当前线程不在单线程单元中,因此无法实例化 ActiveX

 

遇到这个恶心的问题纠缠得不要不要的,大家遇到了的话希望不要走弯路,经过这个折腾让我有点怀疑人生了。哈哈哈

解决代码如下:

//插入一个新线程用于处理验证码
Thread thd = new Thread(new ParameterizedThreadStart(ShowNotify));
thd.SetApartmentState(ApartmentState.STA);//关键设置
thd.IsBackground = true;
thd.Start();
thd.Join();//主线程等待,临时线程开始处理

//临时线程结束,主线程继续运行

 

/// <summary>
/// 弹出验证码提示框
/// </summary>
/// <param name="obj"></param>
private void ShowNotify(object obj)
{
var notify = new frmNotify(this);
diaResult = notify.ShowDialog();
strVcode = notify.StrVcode.Trim();
}

 

posted @ 2017-02-18 04:47  大动作  阅读(3381)  评论(0编辑  收藏  举报