События мыши WPF WebBrowser не работают должным образом
У меня есть объект WebBrowser на странице WPF, и я пытаюсь что-то сделать, когда пользователь взаимодействует со страницей. Я попытался использовать события, связанные с объектом WebBrowser, но они, похоже, не стреляют. Ниже приведен упрощенный пример того, что мой код пытается сделать:
webBrowser.MouseDown += new MouseButtonEventHandler(webBrowser_MouseDown);
с обработчиком событий:
void webBrowser_MouseDown(object sender, MouseButtonEventArgs e) { System.Windows.MessageBox.Show("Pressed"); }
Однако, когда я запускаю страницу и нажимаю внутри windows WebBrowser, окно сообщения не отображается.
- Как использовать IDataErrorInfo.Error в программе WPF?
- Как преобразовать размер WPF в физические пиксели?
- Изменение формата строки WPF DatePicker
- Кадрирование изображений WPF
- Использование глобальной клавиатуры (WH_KEYBOARD_LL) в WPF / C #
Извинения, изначально я упомянул, что это был Web-браузер System.Controls, а не браузер форм.
- Загрузка XAML во время выполнения?
- MVVM Dynamic Menu UI от привязки с ViewModel
- Добавьте n прямоугольников в canvas с MVVM в WPF
- Изменение обоев рабочего стола с помощью кода в .NET.
- Получить активный цвет автоматической цветовой темы Windows 8
- Что такого особенного в Generic.xaml?
- Как загрузить изображение в WPF во время выполнения?
- Правильная проверка с помощью MVVM
В соответствии с документацией событиями мыши не поддерживаются WebBrowser
управления WebBrowser
. Вам нужно подключить обработчиков к событиям DOM, предоставляемым документом, отображаемым в элементе управления, с использованием свойства WebBrowser.Document
. В этом сообщении есть пример того, как это сделать.
Добавить библиотеку ms html com
После запуска события WebBrowser.LoadCompleted попробуйте следующее:
mshtml.HTMLDocumentEvents2_Event doc = ((mshtml.HTMLDocumentEvents2_Event)Browser.Document); doc.onmouseover += new mshtml.HTMLDocumentEvents2_onmouseoverEventHandler(doc_onmouseover);
или использовать другое событие.
Надеюсь, это поможет кому-то.