VB.net如何告诉我的程序在执行下一个任务之前等待它完成任务?

时间:2014-08-05 23:06:48

标签: vb.net

我有一个程序可以正常工作一分钟,但一旦我的互联网连接速度变慢,它就会停止工作。

这是因为我拥有计时器设定的所有内容。

我已经尝试过减慢间隔时间,但它仍然会不时地混乱。

程序必须有一种方法可以等到它完成一项任务,然后自动执行下一个任务,而不是将下一个任务挂到计时器上。

这是我的意思的一个例子:

    WebBrowser1.navigate("http://www.google.com") 
    [IF COMPLETED THEN MOVE ON TO NEXT TASK] 
    WebBrowser1.Document.GetElementById("gbqfba").InvokeMember("click")

我拉着我的头发试图把它想出来lol

2 个答案:

答案 0 :(得分:1)

该方法中的代码应以Navigate调用结束。当WebBrowser完成加载指定页面后,它将引发其DocumentCompleted事件。您处理该事件并在事件处理程序中处理该页面。然后,您可以调用Navigate加载下一页,然后继续该过程。通过处理活动,您不必关心加载页面所需的时间。你知道你在装载它的那一刻就会处理它;不久,不迟。

答案 1 :(得分:0)

Threading.Thread.Sleep(1000) ' 1000 milliseconds is 1 second

查看您的代码,为什么不使用这些事件?

Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted
    WebBrowser1.Document.GetElementById("gbqfba").InvokeMember("click")
End Sub