WPF WebBrowser Mouse Events not working as expected

12,374

Solution 1

Mouse events are not supported by the WebBrowser control, according to the documentation. You need to hook up handlers to the DOM events provided by the document being displayed in the control, using the WebBrowser.Document property. This post has an example of how to do this.

Solution 2

Add the ms html com library

Once the WebBrowser.LoadCompleted event fires try this:

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

or use some other event.

Hope this helps someone.

Share:
12,374

Related videos on Youtube

Farthingworth
Author by

Farthingworth

Updated on April 16, 2022

Comments

  • Farthingworth
    Farthingworth about 2 years

    I have a WebBrowser object in a WPF Page and I'm trying to do something whenever the user interacts with the page. I have intially tried to use the events associated with the WebBrowser object but they don't seem to be firing. Below is a simplified example of what my code is trying to do:

    webBrowser.MouseDown += new MouseButtonEventHandler(webBrowser_MouseDown);
    

    with the event handler as:

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

    However when I run the page and click inside the WebBrowser no message box is displayed.

    Apologies, originally I had mentioned that it was a System.Controls WebBrowser rather than a Forms browser.

  • Farthingworth
    Farthingworth over 14 years
    This put me on the right track. Similar procedure: support.microsoft.com/?kbid=312777
  • Farthingworth
    Farthingworth over 14 years
    It's also helpful to checkout: west-wind.com/weblog/posts/393.aspx if you plan to use the browser while handling events!
  • user254197
    user254197 almost 9 years
    Take a look at my post(stackoverflow.com/questions/30805833/…) I had the same problems for the old winforms webbrowser control(included in WPF) and the normal wpf webbrowser control. Hope it helps :)
  • Anand Kishore
    Anand Kishore over 4 years
    * Once we refresh the page the attached event gets removed.