C# Webbrowser控制文档_已完成多次激发

C# Webbrowser控制文档_已完成多次激发,c#,events,webbrowser-control,C#,Events,Webbrowser Control,文档_complete事件触发多次。其实没那么糟。但我导航到的url从未完全加载。它会被发射2/3次 这是我的文档\u已完成事件: private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (e.Url.AbsolutePath != this.wbrowser.Url.AbsolutePath) return; el

文档_complete事件触发多次。其实没那么糟。但我导航到的url从未完全加载。它会被发射2/3次

这是我的文档\u已完成事件:

private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    if (e.Url.AbsolutePath != this.wbrowser.Url.AbsolutePath) 
        return;
    else
        string doctext = this.wbrowser.DocumentText;
}

我做错了什么?

每帧/iframe会有一个
DocumentCompleted
事件,这就是为什么会有几个。如果您没有得到最后一个,那是因为某些资源仍在加载或挂起。它可以是图像、脚本文件或某个iframe


您最好的解决方案是添加一个超时,如果您获得了最后一个
DocumentCompleted
事件,或者超时开始,则继续您的程序。

计时器应该是什么样子?我刚刚尝试了一个while循环来检查bool是否为真。我在文件里也发现了这个问题。但这永远不会成为现实。不管怎样,我添加了一个额外的bool来检查我们是否在导航。它在while循环中速度非常快,无需导航到url。现在它首先检查我们是否正在导航。这起作用了。谢谢嘿,你能分享一下你是如何实现这个解决方案的吗