.net winform 調用類中的webbrowser 報錯:當前線程不在單線程單元中,所以沒法實例化 ActiveX

 

遇到這個噁心的問題糾纏得不要不要的,你們遇到了的話但願不要走彎路,通過這個折騰讓我有點懷疑人生了。哈哈哈this

解決代碼以下:線程

//插入一個新線程用於處理驗證碼
Thread thd = new Thread(new ParameterizedThreadStart(ShowNotify));
thd.SetApartmentState(ApartmentState.STA);//關鍵設置
thd.IsBackground = true;
thd.Start();
thd.Join();//主線程等待,臨時線程開始處理code

//臨時線程結束,主線程繼續運行驗證碼

 

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

相關文章
相關標籤/搜索