c#等待不使线程休眠和冻结程序

本文关键字:冻结 程序 休眠 线程 等待 | 更新日期: 2023-09-27 18:02:17

请建议一种方法或函数使代码在继续之前等待几秒钟。我知道那个线索。方法,但它会冻结整个程序。

我想设置一个短暂的暂停,让程序在继续执行下一部分之前完成它的过程。目前,程序执行所有程序的速度太快,其他程序无法跟上。

下面是我的代码:
     {
        w1.Document.GetElementById("lst-ib").InnerText = "some text";
        w1.Document.Forms[0].InvokeMember("submit");
      //Some code here that would create a 1 second pause before downloading html. 
      //Thread.sleep(2000) is not suitable. 
        string html = new WebClient().DownloadString(w1.Url.ToString());

c#等待不使线程休眠和冻结程序

我猜W1是一个WebBrowser控件。不要提交表单然后休眠,而是使用控件公开的事件来知道文档已经准备好了。

您可以使用DocumentCompleted事件来知道WebBrowser已经完成加载,然后您可以访问新的URL的DOM。

如果你多次导航,你只需要保持一些状态来知道你在过程中的位置。

我将使用BackgroundWorker进行下载,在此线程中,您将在下载前使用Sleep功能。

http://www.codeproject.com/Articles/99143/BackgroundWorker-Class-Sample-for-Beginners