2017-09-07 35 views
0

我正嘗試構建一個應用程序,其中我在webbrowser控件的每個INPUT字段上使用tabtip。但最近,我切換到WPF和舊的WinForms代碼我用 HtmlElement element = Browser.Document.GetElementFromPoint(e.ClientMousePosition)如何在wpf Webbrowser控件中找到INPUT元素

在我的新的代碼我使用一個click事件determin上我試着去打開tabtip的時間,但它僅需要時發生被點擊的元素是一個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

完美的作品,謝謝! –

相關問題