2015-07-03 69 views
0

我希望我的應用程序能夠等到Web瀏覽器加載完畢後才能使用DocumentCompleted事件,但問題是我正在使用awesmoium webkit並且LoadingFrameComplete事件不會觸發。當谷歌在谷歌搜索IAM IAM一樣並搜查「VB.NET」它不燒,所以我想暫停address changed事件,等到Web控件加載,而我在LoadingFrameComplete事件設置像如何在不凍結用戶界面的情況下等待事件發生

public Sub webcontrol_addresschanged(sender As Object, e As Awesomium.Core.UrlEventArgs) 
//WAIT UNTIL WEB CONTROL LOADS 
//DO Something" 
End sub 

代碼我試過使用'do until'循環,但它凍結了gui,並且web控件沒有導航。

+0

您可以使用Async事件處理程序及其中的Await操作來避免凍結。 https://msdn.microsoft.com/en-us/library/hh191443.aspx?cs-save-lang=1&cs-lang=vb#code-snippet-1 –

+0

非常感謝我非常非常努力 – user3772967

回答

-1

創建模塊,將其命名爲任何東西(除了延遲)

複製 - 粘貼模塊,這些代碼

代碼:

Sub Delay(ByVal dblSecs As Double) 
    Const OneSec As Double = 1.0#/(1440.0# * 60.0#) 
    Dim dblWaitTil As Date 
    Now.AddSeconds(OneSec) 
    dblWaitTil = Now.AddSeconds(OneSec).AddSeconds(dblSecs) 
    Do Until Now > dblWaitTil 
     Application.DoEvents() ' Allow windows message to be processed 
    Loop 
End Sub 

現在,保存它返回到您的窗體的代碼

類型This

public Sub webcontrol_addresschanged(sender As Object, e As Awesomium.Core.UrlEventArgs) 
Delay(2) 'Delay(x) means x seconds of delay before executing next command without freezing UI 
//DO Something" 
End sub 
相關問題