Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: События WebBrowser Добавлено: 25.06.11 07:37  

Автор вопроса:  Flamberg
Пара вопросов про WebBrowser:

1. В мсдн у WebBrowser приведен длинный список событий, у того что я кинул на форму в VB2008 около 2х десятков и все не связаны с действиями пользователя, ни Click ни MousUp ни прочих. Может кто знает где их откапать?

2. Как получить элемент где пользователь поставил курсор в переменную Private selElDoc As MSHTML.IHTMLElement ?
Попробовал
selElDoc = WebBrowser1.document.activeElement.domElement
всегда возвращает body.

Ответить

  Ответы Всего ответов: 8  

Номер ответа: 1
Автор ответа:
 Flamberg



Вопросов: 9
Ответов: 10
 Профиль | | #1 Добавлено: 25.06.11 08:01
Надо было мне мсдн читать внимательнее написанно Click и MouseUp не поддерживаются. :)
Тогда может кто подскажет как их получить через WebBrowser1.document например onclick

Ответить

Номер ответа: 2
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #2
Добавлено: 25.06.11 15:10
объявить переменную типа HtmlDocument с эвентами.
После загрузки страницы в webbrowser присвоить этой переменной значение WebBrowser1.document
заюзать нужное событие переменной.
Пример: при клике выводятся координаты курсора и урл страницы
  1. Public Class Form1
  2.     Dim WithEvents hd As HtmlDocument
  3.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  4.         Me.WebBrowser1.Navigate("http://www.vbnet.ru/")
  5.     End Sub
  6.  
  7.     Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
  8.         hd = Me.WebBrowser1.Document
  9.     End Sub
  10.  
  11.     Private Sub hd_Click(ByVal sender As HtmlDocument, ByVal e As System.Windows.Forms.HtmlElementEventArgs) Handles hd.Click
  12.         MsgBox(sender.Url.AbsoluteUri)
  13.         MsgBox(e.MousePosition.ToString)
  14.     End Sub
  15. End Class

Ответить

Номер ответа: 3
Автор ответа:
 Flamberg



Вопросов: 9
Ответов: 10
 Профиль | | #3 Добавлено: 25.06.11 16:00
спасибо, а можно при клике получить выбранный элемент документа в переменную:
Private selElDoc As MSHTML.IHTMLElement

Ответить

Номер ответа: 4
Автор ответа:
 Ким Чен Ир



Вопросов: 0
Ответов: 140
 Профиль | | #4 Добавлено: 25.06.11 16:33
  1. Private Sub hd_Click(ByVal sender As HtmlDocument...
  2.     Dim selElDoc As mshtml.IHTMLElement = sender.ActiveElement.DomElement

Ответить

Номер ответа: 5
Автор ответа:
 Дмитрий Юпатов



Вопросов: 4
Ответов: 457
 Web-сайт: cargomaster.at.ua/
 Профиль | | #5
Добавлено: 25.06.11 17:31
ага. Кроме того, обращу внимание, что аргумент sender по-умолчанию описывается как object. Это я уже сам руками его тип изменил - для удобства доступа к его членам из конструктора.

Ответить

Номер ответа: 6
Автор ответа:
 Flamberg



Вопросов: 9
Ответов: 10
 Профиль | | #6 Добавлено: 25.06.11 22:31
Спасибо за помощь!

Ответить

Номер ответа: 7
Автор ответа:
 Flamberg



Вопросов: 9
Ответов: 10
 Профиль | | #7 Добавлено: 26.06.11 12:57
Немного уточню, правильно получается так:
Dim selElDoc As mshtml.IHTMLElement = Sender.DomDocument.parentWindow.event.srcElement()
selElDoc присваевается тот элемент на котором идет клик.

Ответить

Номер ответа: 8
Автор ответа:
 Ahtoxa



Вопросов: 6
Ответов: 29
 Профиль | | #8 Добавлено: 12.06.13 22:31
Кто-нибудь подскажет как сделать MousDown и MousUp нужному элементу на странице?
Код:
  1.                 Dim theElementCollection As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a")
  2.                 For Each curElement As HtmlElement In theElementCollection
  3.                     Dim controlName As String = curElement.GetAttribute("id").ToString
  4.                     If controlName = "NewMessage" Then
  5.                        
  6.                     'здесь MousDown
  7.  
  8.                     End If
  9.                 Next

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам