Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 文件完成_C#_Embedded Browser - Fatal编程技术网

C# 文件完成

C# 文件完成,c#,embedded-browser,C#,Embedded Browser,我是c#编程语言的初学者。我将一个简单的web浏览器放入窗口窗体中。我给浏览器分配了一个url地址,我想看看浏览器是否成功打开了我提供的链接 我知道有一个事件处理程序叫做 private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 但是,在为浏览器分配url之后,我想写一些类似 if (webBrowser1_DocumentCompleted

我是c#编程语言的初学者。我将一个简单的web浏览器放入窗口窗体中。我给浏览器分配了一个url地址,我想看看浏览器是否成功打开了我提供的链接

我知道有一个事件处理程序叫做

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
但是,在为浏览器分配url之后,我想写一些类似

    if (webBrowser1_DocumentCompleted)
    {
     //my code here
    }

这可能吗?我知道您可以使用“WebBrowserReadyState”,但我更愿意尝试使用DocumentReady

因为网页的加载和呈现是异步运行的,所以必须在事件方法中执行逻辑(应该在加载文档后运行)。您可以通过以下方式订阅活动:

webBrowser.DocumentCompleted += webBrowser_DocumentCompleted;
您必须在类中有一个具有此签名的方法,您可以在其中进行所需的编码:

void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    // Do something after the document is loaded.
}

因为网页的加载和呈现是异步运行的,所以必须在事件方法中执行逻辑(应该在加载文档后运行)。您可以通过以下方式订阅活动:

webBrowser.DocumentCompleted += webBrowser_DocumentCompleted;
您必须在类中有一个具有此签名的方法,您可以在其中进行所需的编码:

void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    // Do something after the document is loaded.
}

我不确定这是否是您正在寻找的,但这是我将尝试的:

首先在窗体类的构造函数中创建事件处理程序:

public void Form1()
{
     webBrowser1.DocumentCompleted  +=
    new WebBrowserDocumentCompletedEventHandler(WebDocumentCompleted);
}
在此之后,您需要创建一个在触发该事件时调用的方法:

void WebDocumentcompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    //Your code here
}

希望这有帮助

我不确定这是否是您想要的,但这是我会尝试的:

首先在窗体类的构造函数中创建事件处理程序:

public void Form1()
{
     webBrowser1.DocumentCompleted  +=
    new WebBrowserDocumentCompletedEventHandler(WebDocumentCompleted);
}
在此之后,您需要创建一个在触发该事件时调用的方法:

void WebDocumentcompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    //Your code here
}

希望这有帮助

您可以从
下载DataCompletedEventArgs
(e)检查结果


您可以从下载的DataCompletedEventArgs检查结果(e)


我不确定我是否完全遵守了,你的if声明基本上就是事件正在做的事情。该事件仅在webBrowser1_文档完成后触发。您不能在if语句中使用这样的事件。这不起作用,浏览器下载页面需要时间。在触发DocumentCompleted事件之前,您无法执行任何操作。尝试等待它将使程序死锁。我不确定是否完全遵循了if语句,您的if语句基本上就是事件所做的。该事件仅在webBrowser1_文档完成后触发。您不能在if语句中使用这样的事件。这不起作用,浏览器下载页面需要时间。在触发DocumentCompleted事件之前,您无法执行任何操作。尝试等待它将使程序死锁。