是否存在“;当“;打字

本文关键字:打字 存在 是否 | 更新日期: 2023-09-27 18:24:55

是否有什么东西可以等待事件发生(我正在等待的是WebBrowser.DocumentCompleted),然后执行代码?类似这样的东西:

如果(WebBrowser.DocumentCompleted)

不会工作,因为如果返回false,它将跳过代码。

是否存在“;当“;打字

您是否考虑订阅WebBrowser.DocumentCompleted事件?

webBrowser1.Navigate("http://www.stackoverflow.com/");
webBrowser1.DocumentCompleted += (sender, args) =>
{
    //process web page
};
//keep on processing asynchronously here... (if you want :-p)

您必须绑定到事件:

WebBrowser.DocumentCompleted += WebBrowser_DocumentCompleted;
...
private WebBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    // Respond to the event
}

进一步阅读:

  • 事件(C#编程指南)

根据您的要求,在我看来,根据条件,有两种解决问题的可能性:

  1. 注册DocumentCompleted事件并使用WebBrowser_DocumentCompleted事件处理程序来处理这些东西你正计划执行。这段代码将等待,直到文档未完全加载。

  2. 如果使用Timer类进行连续轮询,则应该查看WebBrowser.IsBusy属性。如果为false,则文档已完成加载。但这不是一个好的使用方法Timer类,如果您有DocumentCompleted事件的设施。如果你用这种方法改变它。