private void Delay(int Millisecond) //延迟系统时间,但系统又能同时能执行其它任务; { DateTime current = DateTime.Now; while (current.AddMilliseconds(Millisecond) > DateTime.Now) { Application.DoEvents();//转让控制权 } return; }
案例:最近写软件遇到一个小问题,就是使用webBrowser的加载网页的时候常常不知道网页是否加载完了,导致很多动作无法执行。下面是我借鉴网上的一些东西结合自己的一些东西写的一个判断是否加载完成的代码希望能帮上朋友们。
首先加载页面
webBrowser1.Navigate("http://hcsem.com");
然后在这里做判断
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { while (webBrowser1.IsBusy) { panel1.Visible = true; Delay(3000); //系统延迟判断 } if (webBrowser1.ReadyState == WebBrowserReadyState.Complete) //先判断是否发生完成事件。 { //加载完后朋友们自己的代码 } }