我在Windows窗体应用程序中放置了一个webbrowser控件,我希望我的可视basic.net脚本知道该webbrowser控件加载的网页内是否单击了按钮。
我想必须有一种方法可以做到这一点,到目前为止,我知道如何通过ID访问文档元素,但是我不知道如何触发事件。
谢谢你的帮助!

Imports Gecko
Public Class Form1
    Public myBrowser As GeckoWebBrowser
    Public Sub New()
        InitializeComponent()
        Gecko.Xpcom.Initialize("c:\xulrunner")
        myBrowser = New GeckoWebBrowser()
        myBrowser.Parent = Me
        myBrowser.Dock = DockStyle.Fill
    End Sub
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        myBrowser.Navigate("example.com")
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ' MessageBox.Show(myBrowser.Document.GetElementById("divID").TextContent())
    End Sub
    Private Sub divclick(ByVal sender As Object, ByVal e As EventArgs) Handles myBrowser.Document.GetElementById("divID").Click
        'codes that i need to be run
    End Sub
End Class

最佳答案

您说您知道如何通过ID获取文档元素。一旦有了HtmlElement对象,就可以向其事件添加事件处理程序。例如:

AddHandler myHtmlElement.Click, AddressOf MyElementClicked


然后,每次单击网页中的该元素时,都会调用MyElementClicked方法:

Private Sub MyElementClicked(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
    ' ...
End Sub


通常,您将事件处理程序添加到Web浏览器控件的DocumentCompleted事件处理程序中的HTML元素中。

关于javascript - 如何让网页浏览器控件内的网页触发Windows窗体的vb.net功能?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18789806/

10-14 06:17