2013-06-24 6 views
0

У меня есть функция, которая вызывается дважды, и я не знаю, что делать.Функция вызывается дважды в VB.NET

Это код, который вызывается при нажатии кнопки ввода на WebBrowser:

Private Sub WebBrowser_DocumentCompleted(ByVal sender As System.Object, ByVal e As WebBrowserDocumentCompletedEventArgs) _ 
Handles WebBrowser1.DocumentCompleted 

    Document = sender.Document 
    AddHandler Document.Click, New HtmlElementEventHandler(AddressOf Document_Click) 

End Sub 

Private Sub Document_Click(sender As Object, e As HtmlElementEventArgs) 

    Select Case Document.ActiveElement.Id.ToLower 
     Case "global" : prueba() 
     Case Else 
    End Select 

End Sub 

Если вы хотите увидеть, функция называется prueba() здесь: http://pastebin.com/Fi5LLX2N

У меня есть видео где я показываю, но аннотации на испанском языке: http://www.youtube.com/watch?v=OCJXk3qJwVA


Ну у меня есть еще одна проблема с моей весело Как вы можете видеть, внизу я положил это:

Else 
    MsgBox("Este ModPack ya lo tienes instalado!") 
End If 

Но это не работает. :(

+1

описание товара oke. не совсем уверен, что вы просите. – ErikMes

+0

Чтобы уточнить, это ваша функция 'prueba()', которая вызывается дважды? Кроме того, это, вероятно, не слишком критично, но это может помочь дать нам английское определение этого слова. – Hannele

+2

Да, это функция, которая вызывается дважды. Prueba на английском языке означает «тест». – Seazoux

ответ

0

Попробуйте следующее:

PS: Это написано на лету, возможно, может иметь синтаксическую ошибку.

Private Sub WebBrowser_DocumentCompleted(ByVal sender As System.Object, ByVal e As WebBrowserDocumentCompletedEventArgs) _ 
Handles WebBrowser1.DocumentCompleted 

    Document = sender.Document 
    try : removehandler Document.Click, addressof(Document_Click): catch : end try 
    AddHandler Document.Click, New HtmlElementEventHandler(AddressOf Document_Click) 

End Sub 
+0

Да, у него есть ошибка: addresof (Document_Click) – Seazoux

+0

Я ошибался "s" -> adressof – ElektroStudios

+0

Ну, я удалил браки, и это работает, THXS! :) – Seazoux

0

Моя непосредственная реакция - это липкая кнопка мыши, но на самом деле это связано с тем, что загружаемая веб-страница загружается с несколькими загружаемыми страницами, тем самым добавляя дублирующий обработчик событий. Поместите контрольную точку в эту строку кода:

AddHandler Document.Click, New HtmlElementEventHandler(AddressOf Document_Click) 

Вы, вероятно, увидеть его попадание в два раза. Убедитесь, что только проводом вверх один HtmlElementEventHandler, чтобы избежать двойного обжига обработчика события щелчка. Вы можете проверить e.Url на матч перед подключением до как можно

0

в vb.net нет необходимости определять OnClick в HTML для кнопки, так как он обрабатывается automatically.so, если вы делаете это, то событие щелчка будет срабатывать Twise.