dotnetbrowser 点击事件位置

dotnetbrowser click event position

我正在尝试弄清楚如何使用 DotNetBrowser 获取点击事件位置。

我知道如何使用 X、Y 点获取给定位置的节点名称,但我需要从浏览器中的点击事件中获取它。

有什么想法吗?

我是尤金。我与创建 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);