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