[英]DocumentCompleted
我是使用c#编程语言的入门者。 我将一个简单的Web浏览器放入了窗口形式。 我为浏览器分配了一个网址,我想查看浏览器是否成功打开了我提供的链接。
我知道有一个名为
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
但是,在为浏览器分配了网址之后,我想写一些类似的内容
if (webBrowser1_DocumentCompleted)
{
//my code here
}
这可能吗? 我知道您可以使用“ WebBrowserReadyState”,但我希望尝试并准备使用Document。
我不确定这是否是您要寻找的东西,但这是我会尝试的:
首先在表单类的构造函数中创建一个事件处理程序:
public void Form1()
{
webBrowser1.DocumentCompleted +=
new WebBrowserDocumentCompletedEventHandler(WebDocumentCompleted);
}
之后,您需要创建一个在触发该事件时将被调用的方法:
void WebDocumentcompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
//Your code here
}
希望这可以帮助!
由于网页的加载和呈现是异步运行的,因此您必须在事件方法中执行逻辑(应该在文档加载后运行)。 您可以通过以下方式订阅活动:
webBrowser.DocumentCompleted += webBrowser_DocumentCompleted;
您的类中必须有一个带有此签名的方法,您可以在其中进行所需的编码:
void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
// Do something after the document is loaded.
}
您可以从DownloadDataCompletedEventArgs
(e)检查结果
class Program
{
static void Main(string[] args)
{
WebClient wb = new WebClient();
wb.DownloadDataAsync("www.hotmail.com");
wb.DownloadDataCompleted += new DownloadDataCompletedEventHandler(wb_DownloadDataCompleted);
}
static void wb_DownloadDataCompleted(object sender, DownloadDataCompletedEventArgs e)
{
if (e.Cancelled)//cancelled download by someone/may be you
{
//add necessary logic here
}
else if (e.Error)// all exception can be collected here including invalid download uri
{
//add necessary logic here
}
else if (e.UserState)// get user state for asyn
{
//add necessary logic here
}
else
{
//you can assume here that you have result from the download.
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.