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 类为事件处理程序提供事件数据。

有关如何处理事件的详细信息,请参阅 处理和引发事件

适用于