为什么在另一个线程上运行WebBrowser控件时会出现运行时错误



MyApp.exe中0x0e90a1c0处未处理的异常:0xC0000005:访问冲突

基于帖子我如何在工作线程上创建和使用WebBrowser控件?我正在尝试在另一个线程上运行WebPagePump类。

for (int i = 0; i < 5; i++)
{
    Thread t = new Thread(delegate() { WebNav1(); });
    t.Start();
}
private Action WebNav1 = delegate()
{
    WebPagePump a = new WebPagePump();
    a.Navigate(new Uri("http://www.mywebsite.com"));
    a.Completed += delegate(WebBrowser wb)
        {
            Console.WriteLine("It's loaded!");
            a.Dispose();
        };
};

您需要指定一个单线程单元:

Thread t = new Thread(delegate() { WebNav1(); });
t.ApartmentState = ApartmentState.STA;
t.Start();

最新更新