日期:2014-05-18  浏览次数:20442 次

注册事件的问题
list大小5
C# code

 foreach (string url in list)
            {
                    DownloadShopImg img = new DownloadShopImg(url);
                
            }


在这个DownloadShopImg 类里面,使用了一个WebBrowser类。我进入就让它下载网页图片

C# code

public DownloadShopImg(string url)
        {
                webBrowser1 = new WebBrowser();
                webBrowser1.Url = new Uri(url);
                webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);
        }



可是问题是出现在

C# code

 void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
}


这个注册事件里面,按理说应该只调用5次,可是在这里,却出现了N次,我也不知道是为什么。这是单线程!!!

------解决方案--------------------
foreach出现死循环了???
------解决方案--------------------
你确定list是5???

------解决方案--------------------
贴你的void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
事件里面的代码上来看看,检查是否有再次触发DocumentCompleted事件的代码。
------解决方案--------------------
webBrowser 控件DocumentCompleted是会执行二次.和浏览器执行方式系一样的
------解决方案--------------------
d