2014-10-30 60 views
-2

我有WinForm與WebBrowser控制裏面。WebBrowser控件完成加載時顯示WinForm

我正面臨WebBrowser控件惱人的閃爍。這表明WebBrowser控件(或背景)的主體在網頁加載前大約200毫秒顯示,我無法擺脫它。

我想要,當調用myForm.Show()以查看窗口WebBrowser完全加載完成,而不是看到這種閃爍。

當WebBrowser控件完成完成加載頁面時,調用myForm.Show()顯示WebForm頁面時有什麼方法嗎?

我知道DocumentCompleted事件並閱讀並嘗試了一些技巧mentioned here,但在網頁顯示之前仍無法擺脫填充的空白背景。

任何提示?

回答

0
public class MyForm : Form 
{ 
    WebBrowser _Webbrowser = new WebBrowser(); 
    TaskCompletionSource<object> _tcs = new TaskCompletionSource<object>(); 

    public MyForm(string url) 
    { 
     _Webbrowser.ScriptErrorsSuppressed = true; 
     this.Controls.Add(_Webbrowser); 
     _Webbrowser.DocumentCompleted += (s, e) => { _tcs.TrySetResult(null); }; 
     _Webbrowser.Navigate(url); 
    } 

    public async new void Show() 
    { 
     await _tcs.Task; 
     base.Show(); 
    } 
} 
相關問題