@iRumba

Как отловить события WebBrowser в программе .net?

Есть программа (в моем случае на VB.Net 2010)
Есть элемент управления WebBrowser
Так вот, все что отображается в документе браузера открывается не из файла, а формируется на ходу в процессе выполнения программы. И я бы хотел в программе отлавливать действия пользователя, совершаемые с элементами.

То есть появляется в браузере текстовое поле. Пользователь туда может что нибудь вводить, а программа должна знать, что элемент получил фокус, по нему щелкнули, он стал активным, текст в нем был изменен. Далее появилась кнопочка, на которую можно нажать. При этом я должен знать, на какую кнопочку я нажал, то есть в обработчик должно отправляться ID кнопки или ссылка на экземпляр HtmlElement, потому что элементов управления может быть разное количество и я не знаю какое (не писать же обработчик на каждый). Короче я хочу работать с элементами управления в браузере работать как с обычными элементами управления формы. Возможно ли это? По идее WebBrowser же может обрабатывать события OnClick внутри себя, передавая управления скриптам внутри документа, а почему бы ему не передать это событие на уровень выше?

Надеюсь, нормально объяснил, что мне нужно.
  • Вопрос задан
  • 2650 просмотров
Пригласить эксперта
Ответы на вопрос 3
Neuroware
@Neuroware
Программист в свободное от работы время
Звучит как неудачный костыль, заменяющий механизм динамического создания элементов, какую задачу требовалось решить изначально, до "рождения" в программе webbrowser и прочего?
Ответ написан
@mayorovp
Вам хочется очень странного, и что-то в вашей программе, определенно, лишнее: либо WebBrowser, либо остальная программа :) В первом случае - изучайте XAML, все что вы пытаетесь сделать в WebBrowser можно сделать и на нем. Во втором случае - создайте веб-приложение на ASP.NET и открывайте его в обычном браузере.
Ответ написан
Solexid
@Solexid
Максимум костылей давай - alert(this.id) на события(онклик итд) и обрабатывай события алерта в коде c#.Но я бы перешел на Awesomium.net
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы