我这个循环语句里面是一组网址,while每循环一组,都要判断网页是否加载完毕,加载完毕后就继续执行下一个。
现在疑惑是,如何while暂停工作,我查了资料说是用,thread.sleep(1000)这样来做,但是实际上while里面添加了这个以后,所有的程序全部都暂停了,而不是暂停了循环的一组,
while()
{
if(这里检查,网址是否加载完毕,)
{ 如果没有继续等待30秒}//这个等待是如何实现的? else
{就继续执行循环}}我初学写winform,第一次接触这样的问题,查了好几天了无果,求教各位高手能给个建议,感激不尽了。
现在疑惑是,如何while暂停工作,我查了资料说是用,thread.sleep(1000)这样来做,但是实际上while里面添加了这个以后,所有的程序全部都暂停了,而不是暂停了循环的一组,
while()
{
if(这里检查,网址是否加载完毕,)
{ 如果没有继续等待30秒}//这个等待是如何实现的? else
{就继续执行循环}}我初学写winform,第一次接触这样的问题,查了好几天了无果,求教各位高手能给个建议,感激不尽了。
{
WebBrowser wb = new WebBrowser();
List<string> urlNeed = new List<string>() { "http://www.csdn.com", "http://www.qq.com" };
while (urlNeed.Count>0)
{
wb.Navigate(urlNeed[0]);
int tick = Environment.TickCount;
while (Environment.TickCount - tick < 30 * 1000 &&
wb.ReadyState != WebBrowserReadyState.Complete)
{
Application.DoEvents();
}
MessageBox.Show(urlNeed[0]+" visited.");
urlNeed.RemoveAt(0);
}
MessageBox.Show("Web visit finished.");
}
while(){
while(!loadCompleted()){ //没有加载完
thread.sleep(1000*30);
}
}
public void UpdateForm(string str1)//标签显示内容
{
label1.Text = label1.Text + str1;
}
public void NonParameterRun()
{
StreamReader stmRdr = new StreamReader("address.txt");
string line = stmRdr.ReadLine();
while (line != null)
{
line = stmRdr.ReadLine();
MyInvoke mi = new MyInvoke(UpdateForm);
this.BeginInvoke(mi, new Object[] { line });
Thread.Sleep(500);//让线程暂停
}
} private void Form1_Load(object sender, EventArgs e)
{ ThreadStart thr_start_func = new ThreadStart(NonParameterRun);
Thread fThread = new Thread(thr_start_func);
fThread.Start(); //starting the thread
NonParameterRun();
}