检查WebBrowser是否已加载完成

3
如果我有
browser.Navigate("http://www.test.com");

在一个方法中,我如何检查它是否已经从同一个方法中加载了网页?
谢谢。
2个回答

8

要检查它是否已经在任何地方加载,请执行以下操作:

if(browser.ReadyState == WebBrowserReadyState.Complete) {
    // It's done!
}

但是,如果你在等待它加载,请改用DocumentCompleted事件处理:

browser.DocumentCompleted += WhenItsDone;

我是一个专业的翻译引擎,请将以下与编程有关的内容从英语翻译成中文。仅返回翻译后的文本:我是否将我的方法添加到委托,或者我要在通常的方法中等待事件呢?就像:browser_DocumentCompleted(object sender,WebBrowserDocumentCompletedEventArgs e)? - TheGateKeeper
@TheGateKeeper,这远远不足以确保页面已经完全加载,你需要做更多的工作。请查看我的一些关于WebBrowser控件和如何进行正确的“Is Truely Ready”检测的答案。否则,我可以列出您需要使用的所有方法,具体取决于您的项目的重要性。顺便说一下,我在墨尔本,你在哪个城市? :) - Erx_VB.NExT.Coder
@Erx_VB.NExT.Coder:显然这已经足够了,这就是为什么它被标记为正确答案的原因。 - Ry-
嗨Erx,你说得对。不过我自己找到了方法。谢谢 :)。 - TheGateKeeper
1
用户不能自由浏览,只能访问我想要它访问的网站。别担心 :)。 - TheGateKeeper
显示剩余4条评论

1
这是我成功的方法:
//Waiting For WebBrowser Load

   while(browser.ReadyState == WebBrowserReadyState.Loading) {


   Application.DoEvents();


 }  
      //Do Smth.....

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接