0

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

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

任何想法?

4

1 回答 1

0

这里是尤金。我与创建 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);
于 2018-01-02T13:07:00.473 回答