Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何处理VB.NET中web浏览器对象中按下的HTML按钮?_Vb.net_Visual Studio_Events_Vb.net 2010 - Fatal编程技术网

如何处理VB.NET中web浏览器对象中按下的HTML按钮?

如何处理VB.NET中web浏览器对象中按下的HTML按钮?,vb.net,visual-studio,events,vb.net-2010,Vb.net,Visual Studio,Events,Vb.net 2010,这里是VB.NET新手 有没有办法处理在web浏览器控件内单击的HTML对象?我所能得到的最接近的是浏览器的鼠标按下事件处理程序,它记录了鼠标的位置,但我无法获得关于单击了什么html对象的信息 Private Sub myWB_mouseDown(ByVal sender As Object, ByVal e As HtmlElementEventArgs) If e.MouseButtonsPressed = Windows.Forms.MouseButtons.Left Then

这里是VB.NET新手

有没有办法处理在web浏览器控件内单击的HTML对象?我所能得到的最接近的是浏览器的鼠标按下事件处理程序,它记录了鼠标的位置,但我无法获得关于单击了什么html对象的信息

Private Sub myWB_mouseDown(ByVal sender As Object, ByVal e As HtmlElementEventArgs)
    If e.MouseButtonsPressed = Windows.Forms.MouseButtons.Left Then
        'mousedown event
        Debug.WriteLine(e.ClientMousePosition)
    End If
End Sub

因为您有单击的坐标,所以可以使用它来获取单击点处的元素

然后,您可以检查元素的属性以确定单击的元素的类型,即它是
还是
元素。如果是后者,您还需要检查以确定输入元素的类型是否为
submit
,这意味着它是一个按钮

If myWB.Document IsNot Nothing AndAlso e.MouseButtonsPressed = Windows.Forms.MouseButtons.Left Then
    Dim ClickedElement As HtmlElement = myWB.Document.GetElementFromPoint(e.ClientMousePosition)

    If ClickedElement IsNot Nothing AndAlso _
        (ClickedElement.TagName.Equals("button", StringComparison.OrdinalIgnoreCase) OrElse _
         (ClickedElement.TagName.Equals("input", StringComparison.OrdinalIgnoreCase) AndAlso ClickedElement.GetAttribute("type").Equals("submit", StringComparison.OrdinalIgnoreCase))) Then

        'ClickedElement was either a <button> or an <input type="submit">. Do something...

    End If
End If
如果myWB.Document不是空的,并且e.MouseButtonsPressed=Windows.Forms.MouseButtons.Left,则
Dim ClickedElement作为HtmlElement=myWB.Document.GetElementFromPoint(e.ClientMousePosition)显示
如果ClickedElement不是Nothing,也不是Nothing_
(单击eElement.TagName.Equals(“按钮”,StringComparison.OrdinalIgnoreCase)或LSE_
(单击eElement.TagName.Equals(“输入”,StringComparison.OrdinalIgnoreCase),然后单击eElement.GetAttribute(“类型”).Equals(“提交”,StringComparison.OrdinalIgnoreCase)))然后
'ClickedElement是或。做点什么。。。
如果结束
如果结束

解析对象的事件。是一个
HtmlElement
(不过这可能很棘手)。当你发现下一个(显然)奇怪的行为时,请更新问题。如果我的答案解决了你的问题,请不要忘记按我帖子左侧的勾号/复选标记将其标记为已接受。有关更多信息,请参阅:谢谢!如果您对此或我的实施有任何进一步的问题或疑问,请在我的回答中发表评论让我知道!