将MouseOver事件添加到htmlDocument会导致System.NullReferenceException

时间:2016-09-07 12:52:37

标签: vb.net visual-studio nullreferenceexception addhandler

我有一个名为" 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"

在之前向对象添加处理程序之前,我没有遇到过这种类型的错误 - 所以任何帮助都会非常感激。

谢谢,

保罗。

0 个答案:

没有答案