有一组网页,想让WebBrowser控件按顺序展示它们,也就是加载完一个网页后再加载另一个,但是用for循环语句的话,WebBrowser控件会不等第一个网页加载完就很快循环到最后一个网页,这个问题应该怎么解决?请教各位高手。代码如下:
[C#] 纯文本查看 复制代码 public MainForm()
{
//
// The InitializeComponent() call is required for Windows Forms designer support.
//
InitializeComponent();
wb1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(wb1_DocumentCompleted);
}
bool flag =true;
void Button1Click(object sender, EventArgs e)
{
string[] str = new string[2];
str[0] = "www.aipai.com";
str[1] = "www.sina.com.cn";
int i;
for (i = 0; i <= 1 ; ++i)
{
string url = str[i];
wb1.Navigate(url);
int j= 0;
while(flag)
{
Application.DoEvents();
j = j +1;
}
}
}
private void wb1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
listBox1.Items.Insert(0, wb1.ReadyState);
listBox1.Items.Insert(1, wb1.IsBusy);
if (wb1.ReadyState < WebBrowserReadyState.Complete)
return;
flag = false;
}
但是我在下午浏览一个第一个url的时候,第一次进入Application.DoEvents()程序就飞了,无法执行j=j+1,到了晚上却可以,有没有方法替换Application.DoEvents() ??
|