共用方式為


WebClient.DownloadFileCompleted 事件

定義

發生於異步檔案下載作業完成時。

public:
 event System::ComponentModel::AsyncCompletedEventHandler ^ DownloadFileCompleted;
public event System.ComponentModel.AsyncCompletedEventHandler? DownloadFileCompleted;
public event System.ComponentModel.AsyncCompletedEventHandler DownloadFileCompleted;
member this.DownloadFileCompleted : System.ComponentModel.AsyncCompletedEventHandler 
Public Custom Event DownloadFileCompleted As AsyncCompletedEventHandler 
Public Event DownloadFileCompleted As AsyncCompletedEventHandler 

事件類型

範例

下列程式代碼範例示範如何設定 DownloadFileCompleted 事件的事件處理程式。

// Sample call : DownLoadFileInBackground2 ("http://www.contoso.com/logs/January.txt");
void DownLoadFileInBackground2( String^ address )
{
   WebClient^ client = gcnew WebClient;
   Uri ^uri = gcnew Uri(address);

   // Call DownloadFileCallback2 when the download completes.
   client->DownloadFileCompleted += gcnew AsyncCompletedEventHandler( DownloadFileCallback2 );

   // Specify a progress notification handler here...

   client->DownloadFileAsync( uri, "serverdata.txt" );
}

void DownloadFileCallback2( Object^ /*sender*/, System::ComponentModel::AsyncCompletedEventArgs^ e )
{
   if ( e->Cancelled )
   {
      Console::WriteLine( "File download cancelled." );
   }

   if ( e->Error != nullptr )
   {
      Console::WriteLine( e->Error->ToString() );
   }
}
// Sample call : DownLoadFileInBackground2 ("http://www.contoso.com/logs/January.txt");
public static void DownLoadFileInBackground2(string address)
{
    WebClient client = new WebClient();
    Uri uri = new Uri(address);

    // Call DownloadFileCallback2 when the download completes.
    client.DownloadFileCompleted += new AsyncCompletedEventHandler(DownloadFileCallback2);

    // Specify a progress notification handler here ...

    client.DownloadFileAsync(uri, "serverdata.txt");
}

private static void DownloadFileCallback2(object sender, AsyncCompletedEventArgs e)
{
    if (e.Cancelled)
    {
        Console.WriteLine("File download cancelled.");
    }

    if (e.Error != null)
    {
        Console.WriteLine(e.Error.ToString());
    }
}
' Sample call : DownLoadFileInBackground2 ("http:' www.contoso.com/logs/January.txt")
Public Shared Sub DownLoadFileInBackground2(address As String)

    Dim client As WebClient = New WebClient()

    ' Call DownloadFileCallback2 when the download completes.
    AddHandler client.DownloadFileCompleted, AddressOf DownloadFileCallback2

    ' Specify a progress notification handler here...

    Dim uri as Uri = New Uri(address)
    client.DownloadFileAsync(uri, "serverdata.txt")
End Sub

Private Shared Sub DownloadFileCallback2(sender As Object, e As AsyncCompletedEventArgs)
    If e.Cancelled = True Then
        Console.WriteLine("File download cancelled.")
    End If

    If Not e.Error Is Nothing Then
        Console.WriteLine(e.Error.ToString())
    End If
End Sub

備註

謹慎

WebRequestHttpWebRequestServicePointWebClient 已經過時,您不應該將它們用於新的開發。 請改用 HttpClient

每次異步檔案下載作業完成時,都會引發此事件。 異步檔案下載的啟動方式為呼叫 DownloadFileAsync 方法。

AsyncCompletedEventHandler 是這個事件的委派。 AsyncCompletedEventArgs 類別會提供事件處理程式與事件數據。

如需如何處理事件的詳細資訊,請參閱 處理和引發事件

適用於