在VB.NET中调用函数两次
我有一个函数被调用了两次,我不知道该怎么做 这是当我按下WebBrowser上的输入按钮时调用的代码:在VB.NET中调用函数两次,vb.net,function,scroll,Vb.net,Function,Scroll,我有一个函数被调用了两次,我不知道该怎么做 这是当我按下WebBrowser上的输入按钮时调用的代码: Private Sub WebBrowser_DocumentCompleted(ByVal sender As System.Object, ByVal e As WebBrowserDocumentCompletedEventArgs) _ Handles WebBrowser1.DocumentCompleted Document = sender.Document A
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()
的函数,请参见:
我有一个视频,在那里我展示了它,但是注释是西班牙语的:
我的函数还有一个问题,你可以看到,在底部我写了这样一个:
Else
MsgBox("Este ModPack ya lo tienes instalado!")
End If
但它不起作用(我的即时反应是鼠标按键发粘,但实际上这很可能是因为您正在加载的网页中加载了多个页面,从而添加了重复的事件处理程序。请在这行代码上设置断点:
AddHandler Document.Click, New HtmlElementEventHandler(AddressOf Document_Click)
您可能会看到它被命中两次。请确保仅连接一个HtmlElementEventHandler,以避免双重触发单击事件处理程序。在连接作为可能的解决方案之前,您可以检查e.Url是否匹配。尝试以下方法:
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
在vb.net中,无需在html中为按钮定义onclick,因为它是自动处理的。因此,如果执行此操作,则单击事件将触发twise。oke。不确定您要问什么。请澄清,这是您的函数
prueba()
这被调用了两次?而且,这可能不是很关键,但它可能有助于给我们该词的英文定义。是的,它是一个被调用了两次的函数。Prueba在英语中的意思是“test”。您正在加载的文档中有多少帧?frames这个词是什么意思?我打错了一个“s”->adressof