События мыши WPF WebBrowser не работают должным образом - PullRequest
4 голосов
/ 03 февраля 2010

У меня есть объект WebBrowser на странице WPF, и я пытаюсь что-то сделать, когда пользователь взаимодействует со страницей.Я изначально пытался использовать события, связанные с объектом WebBrowser, но они, похоже, не запускаются.Ниже приведен упрощенный пример того, что пытается сделать мой код:

webBrowser.MouseDown += new MouseButtonEventHandler(webBrowser_MouseDown);

с обработчиком событий как:

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

Однако, когда я запускаю страницу и щелкаю внутри веб-браузера, нетПоявляется окно сообщения.

Извинения, изначально я упоминал, что это был System.Controls WebBrowser, а не браузер форм.

Ответы [ 2 ]

8 голосов
/ 03 февраля 2010

События мыши не поддерживаются элементом управления WebBrowser, согласно документации . Необходимо подключить обработчики к событиям DOM, предоставляемым документом, отображаемым в элементе управления, с помощью свойства WebBrowser.Document. Это сообщение содержит пример того, как это сделать.

3 голосов
/ 25 июня 2010

Добавить библиотеку ms html

После запуска события WebBrowser.LoadCompleted попробуйте следующее:

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

или используйте другое событие.

Надеюсь, это кому-нибудь поможет.

...