2010-02-03 93 views
3

我在WPF頁面中有一個WebBrowser對象,並且我試圖在用戶與頁面進行交互時執行某些操作。我試圖使用與WebBrowser對象相關的事件,但他們似乎並沒有被解僱。下面是我的代碼是試圖做一個簡單的例子:WPF WebBrowser鼠標事件不像預期的那樣工作

webBrowser.MouseDown += new MouseButtonEventHandler(webBrowser_MouseDown); 

與事件處理程序爲:

void webBrowser_MouseDown(object sender, MouseButtonEventArgs e) 
{ 
    System.Windows.MessageBox.Show("Pressed"); 
} 

然而,當我運行頁面,點擊顯示沒有消息框的web瀏覽器內。

道歉,最初我曾提到它是一個System.Controls WebBrowser而不是一個窗體瀏覽器。

回答

7

控制控制WebBrowser不支持鼠標事件。您需要使用WebBrowser.Document屬性將處理程序連接到由控件中顯示的文檔提供的DOM事件。 This post有一個如何做到這一點的例子。

+0

這讓我走上了正軌。類似的過程:http://support.microsoft.com/?kbid=312777 – Farthingworth 2010-02-04 03:30:47

+0

如果您計劃使用瀏覽器,它也對結帳有幫助:http://www.west-wind.com/weblog/posts/393.aspx同時處理事件! – Farthingworth 2010-02-05 02:04:19

+0

看看我的帖子(http://stackoverflow.com/questions/30805833/inspect-element-from-my-wpf-webbrowser-using-inspect-elementsie-chrome-fir/30919955#30919955)我有同樣的舊的winforms webbrowser控件(包含在WPF中)和正常的wpf webbrowser控件的問題。希望能幫助到你 :) – user254197 2015-06-18 15:50:47

2

添加MS HTML COM庫

一旦WebBrowser.LoadCompleted事件觸發試試這個:

mshtml.HTMLDocumentEvents2_Event doc = ((mshtml.HTMLDocumentEvents2_Event)Browser.Document); 
doc.onmouseover += new mshtml.HTMLDocumentEvents2_onmouseoverEventHandler(doc_onmouseover); 

或使用一些其他事件。

希望這可以幫助別人。

相關問題