如何让 webBrowser_Documentcompleted 多次触发

Joh*_*ohn 2 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();
}
Run Code Online (Sandbox Code Playgroud)

但是,我确实重新加载了页面。documentcompleted 状态不会再次触发。

有没有办法让函数在我每次导航到一个 url 时触发?

(我也试过 webBrowser.Refresh() )

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

Joh*_*ohn 5

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

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

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

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