.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();
}

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM