2017-12-31 34 views
0

DotNetBrowser를 사용하여 클릭 이벤트 위치를 얻는 방법을 알아 내려고하고 있습니다.dotnetbrowser 클릭 이벤트 위치

X, Y 포인트를 사용하여 주어진 위치의 노드 이름을 얻는 방법을 알고 있지만 브라우저의 클릭 이벤트에서 노드 이름을 가져와야합니다.

아이디어가 있으십니까?

답변

0

여기는 유진입니다. DotNetBrowser를 만든 팀과 함께 일합니다.

마우스 클릭 위치를 얻으려면 MouseDown 이벤트를 사용할 수 있습니다. 나는 샘플을 아래에 제공했다.

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

당신이 Browser.NodeAtPoint 방법을 사용하여 얻어진 위치의 노드를 얻을 수 후 :

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

안녕하세요, 감사합니다, 그것은 공장. 화면에 마우스를 올려 놓으려는 중이므로 클릭 한 요소에 클릭하여 반올림 상자를 표시하고 버튼이나 태그와 같은 링크를 클릭 할 경우 해당 정보를 차단할 수 있는지 궁금합니다. 동작. –

+0

또한 일단 nodeAtPoint를 얻으면 속성을 설정/가져올 수 있습니까? DOMNodeAtPoint 객체를 DOMElement에 전달하여 속성을 반복 할 수있는 방법을 찾지 못했습니다. –