GeckoFX - 如果页面加载完成则触发事件 (.NET)

GeckoFX - donig events if page load is complete ( .NET )

我试图让我的 geckofx 浏览器等待页面加载 "something like DocumentComplete" 但我不能,我使用的是 geckofx 1.9.2,我想这就是问题所在,也许这个版本不支持DocumentComplete 事件,这是我正在尝试做的一个例子:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Dim uAgent As String = "Mozilla/5.0 (Linux; U; Android 2.3.5; en-US; GT-I9100 Build/GINGERBREAD) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/10.3.0.552 U3/0.8.0 Mobile Safari/534.30"
    Skybound.Gecko.GeckoPreferences.User("general.useragent.override") = uAgent
    GeckoWebBrowser1.Navigate("google.com")

    If GeckoWebBrowser1.DocumentComplete = True Then 
    Messagebox.show("Page Loaded !", "Done")
    End If
End Sub

您可以在此处查看您的 GeckoFX 版本支持的内容 https://bitbucket.org/geckofx/

除此之外,您需要以不同的方式设计代码。 当您初始化并首次使用浏览器时,将事件处理程序附加到事件。

据我在最旧的 GeckoFX 版本的代码中看到的,它确实支持 DocumentCompleted 事件

    #region public event EventHandler DocumentCompleted
    /// <summary>
    /// Occurs after the browser has finished parsing a new page and updated the <see cref="Document"/> property.
    /// </summary>
    [Category("Navigation"), Description("Occurs after the browser has finished parsing a new page and updated the Document property.")]
    public event EventHandler DocumentCompleted
    {
        add { this.Events.AddHandler(DocumentCompletedEvent, value); }
        remove { this.Events.RemoveHandler(DocumentCompletedEvent, value); }
    }

这意味着您可以将处理程序附加到此事件,每当浏览器完成导航时,都会调用它。 将加载后要执行的代码放入事件处理程序中。