C#WebBrowser - 如何制作Download / DownloadComplete事件处理程序

时间:2011-10-26 10:05:28

标签: c# html xml browser

我有一个webbrowser对象。 它做了很多工作,所以我经常遇到一个问题,即对象尚未加载,或者新请求尚未完成等等。

所以现在我正在使用这样的东西:

Thread.Sleep(n);
while (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
// do stuff here

但正如已经提到的,我不喜欢它。这是非常不可靠的。加上线程被冻结。

我确定我已经在互联网上找到了类似于DownloadCompleteHandler的东西(不确定名称),它开始异步下载页面的过程,并且在完成之后 - 我可以调用另一个处理程序来告诉它下一步该怎么做。

但我再也找不到了。 如果有人可以提供帮助,那就太棒了。

2 个答案:

答案 0 :(得分:4)

我认为您正在寻找DocumentCompleted事件。

当页面导航到并开始加载时,会调用Navigated事件,页面加载完成后会调用DocumentCompleted事件。

修改

回应您对问题的评论;你正在寻找ProgressChanged事件。

事实上,如果您只是阅读MSDN上的WebBrowser文档,它会更容易。在这个页面上有一个“事件”部分,列出了所有这些事件以及它们的用途。

答案 1 :(得分:0)

您也可以查看WatiN

public class IEWaitForComplete : WaitForCompleteBase