我正在试图弄清楚如何使用DotNetBrowser获取点击事件位置。
我知道如何使用X,Y点获取给定位置的节点名称,但我需要从浏览器中的点击事件中获取它。
有什么想法吗?
答案 0 :(得分:0)
这是Eugene。我与创建DotNetBrowser的团队合作。
要获得鼠标点击位置,您可以使用MouseDown
事件。我在下面提供了样本。
Windows窗体:
public partial class MainForm : Form
{
private WinFormsBrowserView browserView;
public MainForm()
{
InitializeComponent();
browserView = new WinFormsBrowserView() {Dock = DockStyle.Fill};
browserView.MouseDown += BrowserView_MouseDown;
this.Controls.Add(browserView);
}
private void BrowserView_MouseDown(object sender, MouseEventArgs e)
{
int clickX = e.X;
int clickY = e.Y;
}
}
WPF:
public partial class MainWindow : Window
{
private WPFBrowserView browserView;
public MainWindow()
{
InitializeComponent();
browserView = new WPFBrowserView();
browserView.MouseDown += BrowserView_MouseDown;
this.MainGrid.Children.Add(browserView);
}
private void BrowserView_MouseDown(object sender, MouseButtonEventArgs e)
{
Point clickPoint = e.GetPosition(browserView);
double clickX = clickPoint.X;
double clickY = clickPoint.Y;
}
}
之后,您可以使用Browser.NodeAtPoint
方法获取获取位置的节点:
DOMNodeAtPoint nodeAtPoint = browserView.Browser.NodeAtPoint((int)clickX, (int)clickY);