如何让webBrowser_Document完成多次触发

时间:2013-12-13 16:32:07

标签: c#

我在c#中创建了一个简单的webbrowser,它不断重新加载页面,然后在页面加载时执行某些操作。

然而,在第一次之后,以下功能不再触发:

public void gotourl()
{
   webBrowser.Navigate("Stackoverflow.com");
}

 public void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
   MessageBox.Show("Page loaded succesfully."); // only fires once
   // waiting for a few seconds by using a timer
   gotourl();
}

但是,我确实重新加载了该页面。文件完成状态根本不再发射。

每次导航到网址时,有没有办法让函数触发?

(我也试过webBrowser.Refresh())

编辑:我添加了令人难以置信的解决方案..

1 个答案:

答案 0 :(得分:4)

解决方案令人难以置信。经过几个小时的搜索和尝试,我找到了答案。

在webBrowser1的属性中,我将属性“AllowNavigation”设置为false。

如果设置为false,它仅仅仅在ONCE上注册webBrowser1.DocumentCompleted()函数,但是当AllowNavigation属性设置为true(默认情况下)时,DocumentCompleted()函数会重复。

我不知道为什么它以这种方式工作,我希望有同样问题的人找到这个答案,因为这是网上唯一的答案..