manish patel
manish patel

Reputation: 1449

WebBrowser control problem

I am using this code:

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

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

But there is a problem in the code is the wbmain.navigate the first url and doesn't wait for first url to open and it opens second ..........and it shows the last url.

Finally I see the last page.

How can I if check the first url is opened and wait for 15 sec and open the second page?

Upvotes: 0

Views: 668

Answers (2)

taylonr
taylonr

Reputation: 10790

You could also follow this example and open each in a new tab.

Upvotes: 0

Justin Niessner
Justin Niessner

Reputation: 245479

You could try:

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

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

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

...the example assumes you're working in WinForms.

There is a better (and correct) way to wait until the page has loaded. The WebBrowser control has a DocumentCompleted Event that you could use to reload a new address each time the current page finishes loading. Check the link for the MSDN documentation:

WebBrowser.DocumentCompleted - MSDN

Upvotes: 1

Related Questions