2017-09-07 1 views
0

내 웹 브라우저 컨트롤의 모든 INPUT 필드에서 탭 팁을 사용하는 응용 프로그램을 만들려고합니다. 하지만 최근 WPF로 전환하고 기존 윈폼 코드에서 난 내가 tabtip을 열려고하는 메신저의 시간을 determin하는 클릭 이벤트를 사용하고 나의 새로운 코드에서 HtmlElement element = Browser.Document.GetElementFromPoint(e.ClientMousePosition)wpf Webbrowser 컨트롤에서 INPUT 요소를 찾는 방법

를 사용하지만 경우에만 일어날 필요 클릭 된 요소는 INPUT 필드입니다. 내 코드 :

public static void webBrowser1_LoadCompleted(object sender, NavigationEventArgs e, WebBrowser browser) 
{ 
    mshtml.HTMLDocument doc; 
    doc = (mshtml.HTMLDocument)browser.Document; 
    mshtml.HTMLDocumentEvents2_Event iEvent; 
    iEvent = (mshtml.HTMLDocumentEvents2_Event)doc; 
    iEvent.onclick += new mshtml.HTMLDocumentEvents2_onclickEventHandler(ClickEventHandler); 
} 

내가 클릭 한 요소가 입력되면 검사 할 곳이다 :

private static bool ClickEventHandler(mshtml.IHTMLEventObj e) 
{ 
    MessageBox.Show("Item Clicked"); //if(HtmlElement == INPUT) like scenario here 
    return true; 
} 

내가 this 소스를 사용하지만 힘든 시간을 내가 해요 이후 자신의 말을 이해하기 xaml 및 C#으로 모든 것을 처리하려고합니다.

답변

1

이 시도 : 완벽하게 작동

private static bool ClickEventHandler(mshtml.IHTMLEventObj e) 
{ 
    mshtml.IHTMLInputElement inputElement = e.srcElement as mshtml.IHTMLInputElement; 
    if (inputElement != null) 
    { 
     MessageBox.Show("<input> clicked"); 
    } 
    return true; 
} 
+0

가, 감사합니다! –

관련 문제