簡體   English   中英

DocumentCompleted

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM