Geckofx黑屏的原因是每次重新加載要有一段繪圖時間,所以在繪圖沒有完成之前設置是否可見就OK
GeckoWebBrowser gk = new GeckoWebBrowser();
//做其他事情,比如Navigate
var baseWindow = ((nsIBaseWindow)(gk.WebBrowserFocus));
baseWindow.SetVisibilityAttribute(false);
寫個延時函數,讓gecko有足夠的繪圖時間,和sleep不同,sleep會卡死,Delay不影響程序響應
public static void Delay(int milliSecond)
{
int start = Environment.TickCount;
while (Math.Abs(Environment.TickCount - start) < milliSecond)
{
Application.DoEvents();
}
}
然後給Delay()傳參,再執行baseWindow.SetVisibilityAttribute(true);,例如:
Delay(1000);//這裏單位是毫秒,該延時函數不會影響程序執行卡死,程序仍然可響應消息
baseWindow.SetVisibilityAttribute(true);
---------------------
作者:LIFECF
來源:CSDN
原文:https://blog.csdn.net/CFY530/article/details/80719118
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!