是否和线程有关,关于webBrowser控件的问题

zhangxiaolei 2010-08-21 04:27:07
想要实现功能:
网站中有一个页面(如xxx.php?id=1,此处假设页面显示的只是参数值),根据参数不同页面内容会改变。想用webBrowser1来访问这个页面,并且用listBox来记录每次页面内容。

目前碰到问题:
webBrowser1只打开第一次的页面。

现在我在程序中访问10次这个页面,如xxx.php?id=1 xxx.php?id=2 xxx.php?id=3 等
假设以下代码是用webBrowser来访问页面
for(int i=0;i<10;i++}{
webBrowser1.Navigate("xxx.php?id="+i.toString());
}

在webBrowser1_DocumentCompleted事件中 代码如下
Console.WriteLine(webBrowser1.Url); 
listBox1.Items.Add(Document.Body.InnerText);--用控件来记录内容

目前运行结果,webBrowser只访问了第一个页。。。。请教是哪方面的问题,如何解决。。。。。
谢谢大家

...全文
75 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
兔子-顾问 2010-08-21
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20100819/16/550fa090-4b0c-44a3-8ab2-841ada5b6e11.html


int time = 1;
WebBrowserDocumentCompletedEventHandler dce = null;//定义一个委托
dce = delegate
{
if (time++ == 9) webBrowser1.DocumentCompleted -= dce;//如果当前是最后一个页面了,注销事件
webBrowser1.Navigate("xxx.php?id="+time.toString());//访问下一个页面
};
webBrowser1.DocumentCompleted += dce;
webBrowser1.Navigate("xxx.php?id=0");//第一个直接写文本


需要这样依次打开,否则,你第一个没打开,立刻终止去打开下一个了。
thulpf 2010-08-21
  • 打赏
  • 举报
回复
不懂,参观一下
ZengHD 2010-08-21
  • 打赏
  • 举报
回复
试试HttpWebRequest吧
zhangxiaolei 2010-08-21
  • 打赏
  • 举报
回复
咦,咋没人哩。。。。

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧