2017-12-31 116 views
0

Ich versuche herauszufinden, wie ich die Klickereignisposition mit DotNetBrowser erreichen kann.dotnetbrowser click event position

Ich weiß, wie man einen Knotennamen für einen bestimmten Ort mit X, Y-Punkte, aber ich muss es von einem Klick-Ereignis im Browser erhalten.

Irgendeine Idee?

Antwort

0

Hier ist Eugene. Ich arbeite mit dem Team, das DotNetBrowser erstellt hat.

Um die Mausklickposition zu erhalten, können Sie das Ereignis MouseDown verwenden. Ich habe die Beispiele unten zur Verfügung gestellt.

Windows Forms:

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; 
    } 
} 

Danach können Sie den Knoten für den erhaltenen Standort erhalten können die Browser.NodeAtPoint Methode:

DOMNodeAtPoint nodeAtPoint = browserView.Browser.NodeAtPoint((int)clickX, (int)clickY); 
+0

Hallo, danke, es funktioniert. Ich versuche mit der Maus über den Bildschirm zu fahren und kann auf ein beliebiges Teil klicken und eine Rundungsbox auf dem angeklickten Element anzeigen und ich frage mich, ob es möglich ist, dass, falls ich auf einen Link wie eine Schaltfläche oder ein Tag klicke Aktion. –

+0

Wenn ich einen NodeAtPoint bekomme, wie kann ich dann Attribute setzen/bekommen? Ich finde nicht, wie ein DOMNodeAtPoint-Objekt an DOMElement übergeben wird, um über Attribute zu iterieren. –