【发布时间】:2019-01-17 08:43:17
【问题描述】:
我在 PictureBox 中捕捉点击坐标,但我想用 WebBrowser 实现同样的功能。经过一番研究,我发现无法订阅 WebBrowser 控件的 Mouse Click 事件。
捕获点击的可能方法是什么?是否有一种元素可以让我在页面中导航但仍然捕获点击?
我尝试创建一个透明面板,但透明颜色并不意味着像我看到的那样透明,并且当元素在后面时也不会捕获点击,能够通过 WebBrowser 后面的面板捕获点击也可以。
图片框代码:
private void uploadedPNG_MouseClick(object sender, MouseEventArgs e)
{
if(uploadedPNG.Image != null && !string.IsNullOrEmpty(deviceHeight.Text) && !string.IsNullOrEmpty(deviceWidth.Text))
{
mouseX = e.X;
mouseY = e.Y;
targetHeight = Int32.Parse(deviceHeight.Text);
targetWidth = Int32.Parse(deviceWidth.Text);
int outPutWidth = (mouseX * targetWidth) / uploadedPNG.Width;
int outPutHeight = (mouseY * targetHeight) / uploadedPNG.Height;
ConsoleText.Text = "Clicked X coordinate " + outPutWidth + " Clicked Y coordinate " + outPutHeight;
}
}
【问题讨论】:
-
我不太明白这个问题,你想要winform-PictureBox控件的坐标吗?
-
我可以从 PictureBox 或 Panel 中捕获坐标,但我需要在 WebBrowser 中捕获坐标
-
我没有尝试过,但您可以尝试覆盖托管 Web 浏览器的表单的
WndProc方法,捕获 wm_lbuttondown 并在事件进入 WebBrowser 之前引发您的事件。 -
您需要鼠标相对于屏幕的位置还是控件内网页范围内的位置?
-
控件内网页范围内
标签: c# .net winforms webbrowser-control