WebBrowser控制问题

时间:2010-01-06 13:36:36

标签: c# webbrowser-control

我正在使用此代码:

//I store the website urls in mylist
list<string> mylist=new list<string>();     

foreach(string webname in mylist)
{
    wbmain.navigate(webname);
}

但是代码中有一个问题是wbmain.navigate第一个url并且不等待第一个url打开并且它打开第二个..........它显示了最后一个url。

最后我看到了最后一页。

如果检查第一个网址是否已打开并等待15秒并打开第二页,该怎么办?

2 个答案:

答案 0 :(得分:1)

你可以尝试:

List<string> myList = new List<string>();

foreach(string webName in myList)
{
    wbmain.navigate(webName);

    // Sleep for 15 seconds.
    System.Threading.Thread.Sleep(15000);
}

...该示例假设您在WinForms中工作。

有一种更好(且正确)的方式等待页面加载。 WebBrowser控件有一个DocumentCompleted事件,您可以在每次当前页面加载完成后重新加载新地址。检查MSDN文档的链接:

WebBrowser.DocumentCompleted - MSDN

答案 1 :(得分:0)

您也可以关注this example并在新标签页中打开每个标签。