我在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())
编辑:我添加了令人难以置信的解决方案..答案 0 :(得分:4)
解决方案令人难以置信。经过几个小时的搜索和尝试,我找到了答案。
在webBrowser1的属性中,我将属性“AllowNavigation”设置为false。
如果设置为false,它仅仅仅在ONCE上注册webBrowser1.DocumentCompleted()函数,但是当AllowNavigation属性设置为true(默认情况下)时,DocumentCompleted()函数会重复。
我不知道为什么它以这种方式工作,我希望有同样问题的人找到这个答案,因为这是网上唯一的答案..