我有一个名为" myBrowser"的webBrowser对象的表单。当我在这个浏览器中打开一个网页时,我希望获得鼠标悬停在其上的任何元素的ID,并将其显示在名为" txtProperties"的文本框中。
我尝试使用以下代码实现此目的:
Public Class buildBrowser
Dim myHTMLDocument As HtmlDocument
Private Sub btnBrowseSubmit_Click(sender As Object, e As EventArgs) Handles btnBrowseSubmit.Click
myBrowser.Navigate(txtAddress.Text)
End Sub
Private Sub Document_MouseOver(sender As Object, e As HtmlElementEventArgs)
txtProperties.Text = TryCast(sender, HtmlDocument).GetElementFromPoint(e.ClientMousePosition).GetAttribute("id")
End Sub
Private Sub buildBrowser_Load(sender As Object, e As EventArgs) Handles MyBase.Load
myHTMLDocument = myBrowser.Document
AddHandler myHTMLDocument.MouseOver, AddressOf Document_MouseOver
End Sub
End Class
运行此操作会导致异常,当代码到达AddHandler myHTMLDocument.MouseOver, AddressOf Document_MouseOver
时,表示"空引用异常未处理" - 特别是"未处理的类型' System.NullReferenceException'发生在myProgram.exe"
在之前向对象添加处理程序之前,我没有遇到过这种类型的错误 - 所以任何帮助都会非常感激。
谢谢,
保罗。