Есть программа (в моем случае на VB.Net 2010)
Есть элемент управления WebBrowser
Так вот, все что отображается в документе браузера открывается не из файла, а формируется на ходу в процессе выполнения программы. И я бы хотел в программе отлавливать действия пользователя, совершаемые с элементами.
То есть появляется в браузере текстовое поле. Пользователь туда может что нибудь вводить, а программа должна знать, что элемент получил фокус, по нему щелкнули, он стал активным, текст в нем был изменен. Далее появилась кнопочка, на которую можно нажать. При этом я должен знать, на какую кнопочку я нажал, то есть в обработчик должно отправляться ID кнопки или ссылка на экземпляр HtmlElement, потому что элементов управления может быть разное количество и я не знаю какое (не писать же обработчик на каждый). Короче я хочу работать с элементами управления в браузере работать как с обычными элементами управления формы. Возможно ли это? По идее WebBrowser же может обрабатывать события OnClick внутри себя, передавая управления скриптам внутри документа, а почему бы ему не передать это событие на уровень выше?
Звучит как неудачный костыль, заменяющий механизм динамического создания элементов, какую задачу требовалось решить изначально, до "рождения" в программе webbrowser и прочего?
Как бы ни звучало глупо, мне лень клепать механизм динамического создания элементов. По определенным причинам мне проще обойтись HTML+CSS. Но, походу, придется делать все как положено )
MoreBeauty: в общем то я вас понимаю, склепать код было бы проще чем создавать динамически компаненты, но таки придется) Но если нельзя но очень хочется таки можно, можно на кнопки повесить переход по некой ссылке, которую можно отслижить по eventу navigete и в зависимости от ссылки определять какую кнопку нажали
Вам хочется очень странного, и что-то в вашей программе, определенно, лишнее: либо WebBrowser, либо остальная программа :) В первом случае - изучайте XAML, все что вы пытаетесь сделать в WebBrowser можно сделать и на нем. Во втором случае - создайте веб-приложение на ASP.NET и открывайте его в обычном браузере.