dotnetbrowser点击活动位置

时间:2017-12-31 12:26:15

标签: c# dotnetbrowser

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

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

有什么想法吗?

1 个答案:

答案 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);