在WebBrowser控件中获取鼠标在网页(不是浏览器窗口)上点击的位置,只有代码了,没有讲解:
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
webBrowser1.Document.MouseDown += new HtmlElementEventHandler(Document_MouseDown);
}
void Document_MouseDown(object sender, HtmlElementEventArgs e)
{
IHTMLDocument2 document = webBrowser1.Document.DomDocument as IHTMLDocument2;
IHTMLElement2 element = document.body as IHTMLElement2;
int scrolltop = webBrowser1.Document.Body.ScrollTop - element.clientTop;
int scrollLeft = webBrowser1.Document.Body.ScrollLeft - element.clientLeft;
if (document.body.parentElement != null)
{
IHTMLElement2 parent = document.body.parentElement as IHTMLElement2;
scrolltop += parent.scrollTop - parent.clientTop;
scrollLeft += parent.scrollLeft - parent.clientLeft;
}
int positionX = e.ClientMousePosition.X + scrollLeft;
int positionY = e.ClientMousePosition.Y + scrolltop;
Debug.WriteLine(string.Format("positionX: {0}, positionY: {1}",
positionX, positionY));