c# winform WebBrower 控件中右键获取控件坐标
加载页面以后,鼠标右键时候,自动生成事件 (加载右键事件)获取坐标和链接
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Document.MouseDown += new HtmlElementEventHandler(Document_MouseDown);
}
void Document_MouseDown(object sender, HtmlElementEventArgs e)
{
if (e.MouseButtonsPressed == MouseButtons.Right)
{
Console.WriteLine(e.MousePosition);
}
else if (e.MouseButtonsPressed == MouseButtons.Left)
{
HtmlElement ele = webBrowser1.Document.GetElementFromPoint(e.MousePosition);
if (ele!= null)
{
Console.WriteLine(ele.GetAttribute("href"));
}
}
}
1.把上述代码转成如下代码后,测试无反映
''''获取鼠标事件
'Public Sub Document_MouseDown(ByVal sender As System.Object, ByVal e As Document.HtmlElementEventArgs)
Public Sub web_Document_MouseDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.HtmlElementEventArgs)
Dim webm As System.Windows.Forms.WebBrowser = sender '把触发该事件的Sender转换为WebBrowser
If e.MouseButtonsPressed = MouseButtons.Right Then '如果按键是右键
'Console.WriteLine(e.MousePosition)
MessageBox.Show(e.MousePosition.x,e.MousePosition.y)
'Else If e.MouseButtonsPressed <> MouseButtons.Left ''如果按键不是左键
If webm.Document.GetElementFromPoint(e.MousePosition) IsNot Nothing Then '如果该点位内容不为空
MessageBox.Show((webm.Document.GetElementFromPoint(e.MousePosition)).GetAttribute("href")) '显示网址
'Console.WriteLine(webm.Document.GetElementFromPoint(e.MousePosition).GetAttribute("href")
End If
End If
End Sub
2.在窗口afterload事件中设置如下代码时总提示web_Document_MouseDown未声明
AddHandler web.Document.MouseDown,addressof web_Document_MouseDown '鼠标事件
麻烦老师看看毛病处在哪里?谢谢!