Geckofx45 黑屏问题解决+Delay延时

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 
版权声明:本文为博主原创文章,转载请附上博文链接!

你可能感兴趣的:(C#)