本文介绍了如何使WebBrowser等待,直到它完全加载?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 我有上有一个Web浏览器控件一个C#的形式。 我想在一个循环来访问不同的网站。 不过,我无法控制的URL地址加载到我的表格的网页浏览器元素。 这是我使用过的URL地址导航功能: 公共字符串WebNavigateBrowser(字符串urlString,web浏览器WB) {字符串数据=; wb.Navigate(urlString); ,而(!wb.ReadyState = WebBrowserReadyState.Complete) { Application.DoEvents(); } 数据= wb.DocumentText; 返回数据; } 我怎样才能让我的循环等待,直到它完全加载? 我的循环是这样的: 的foreach(URL中的字符串urlAddresses) { WebNavigateBrowser(urlAddresses,webBrowser1); //我需要添加一个代码,使表格网页浏览器要等到它加载} 解决方案 这添加到您的代码: webBrowser1.DocumentCompleted + =新WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted); 填写此功能 私人无效webBrowser1_DocumentCompleted(对象发件人,WebBrowserDocumentCompletedEventArgs E){ //这行,所以你只能做事件一次如果(e.Url!= webBrowser1.Url)返回; //你实际的代码 } I have a C# form with a web browser control on it.I am trying to visit different websites in a loop.However, I can not control URL address to load into my form web browser element.This is the function I am using for navigating through URL addresses:public String WebNavigateBrowser(String urlString, WebBrowser wb){ string data = ""; wb.Navigate(urlString); while (wb.ReadyState != WebBrowserReadyState.Complete) { Application.DoEvents(); } data = wb.DocumentText; return data;}How can I make my loop wait until it fully loads?My loop is something like this:foreach (string urlAddresses in urls){ WebNavigateBrowser(urlAddresses, webBrowser1); // I need to add a code to make webbrowser in Form to wait till it loads} 解决方案 Add This to your code:webBrowser1.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(webBrowser1_DocumentCompleted);Fill in this function private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { //This line is so you only do the event once if (e.Url != webBrowser1.Url) return; //do you actual code } 这篇关于如何使WebBrowser等待,直到它完全加载?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
07-08 14:12