2017-12-31 6 views
0

私はDotNetBrowserを使用してクリックイベントの位置を取得する方法を理解しようとしています。dotnetbrowser clickイベント位置

私はX、Yポイントを使用して特定の場所のノード名を取得する方法を知っていますが、ブラウザのクリックイベントから取得する必要があります。

答えて

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); 
+0

こんにちは、おかげで、それ働く私は画面上にマウスを置いて、任意の部分をクリックして、クリックされた要素に丸めボックスを表示できるようにしようとしています。ボタンやタグのようなリンクをクリックした場合アクション。 –

+0

また、nodeAtPointを取得したら、どのように属性を設定/取得できますか? DOMNodeAtPointオブジェクトをDOMElementに渡して属性を反復処理する方法が見つかりません。 –