DownloadFileGroupCompletedEventArgs クラス

定義

最近完了したファイルのダウンロードについて説明します。

public ref class DownloadFileGroupCompletedEventArgs : System::ComponentModel::AsyncCompletedEventArgs
public class DownloadFileGroupCompletedEventArgs : System.ComponentModel.AsyncCompletedEventArgs
type DownloadFileGroupCompletedEventArgs = class
    inherit AsyncCompletedEventArgs
Public Class DownloadFileGroupCompletedEventArgs
Inherits AsyncCompletedEventArgs
継承
DownloadFileGroupCompletedEventArgs

次のコード例では、という名前のファイルグループをダウンロード HelpFiles し、ダウンロードの進行状況をステータスバーに表示します。 この例では、Windows フォームアプリケーションを配置し、メインフォームにコントロールとという名前のコントロールを配置する必要があり StatusStrip ToolStripStatusLabel downloadStatus ます。

void LaunchAppUpdate()
{
    if (ApplicationDeployment::IsNetworkDeployed)
    {
        ApplicationDeployment^ ad =
            ApplicationDeployment::CurrentDeployment;
        ad->UpdateCompleted +=
            gcnew AsyncCompletedEventHandler(this,
            &Form1::LaunchAppUpdate_UpdateCompleted);

        ad->UpdateAsync();
    }
}

void LaunchAppUpdate_UpdateCompleted(Object^ sender,
    AsyncCompletedEventArgs^ e)
{
    if (!e->Cancelled)
    {
        if (nullptr != e->Error)
        {
            System::Windows::Forms::DialogResult dr =
                MessageBox::Show(
                "The application has been updated. Restart?",
                "Restart Application",
                MessageBoxButtons::OKCancel);
            if (System::Windows::Forms::DialogResult::OK == dr)
            {
                Application::Restart();
            }
        }
        else
        {
            // Replace with your own error reporting or logging.
            MessageBox::Show(
                "The application encountered an error in " +
                "downloading the latest update. Error: {0}",
                e->Error->Message);
        }
    }
    else
    {
        // Replace with your own error reporting or logging.
        MessageBox::Show(
            "The update of the application's latest version was " +
            "cancelled.");
    }
}
private void DownloadFileGroupAsync(string fileGroup)
{
    if (ApplicationDeployment.IsNetworkDeployed)
    {
        ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment;

        try
        {
            if (!deployment.IsFileGroupDownloaded(fileGroup))
            {
                deployment.DownloadFileGroupProgressChanged += new DeploymentProgressChangedEventHandler(deployment_DownloadFileGroupProgressChanged);
                deployment.DownloadFileGroupCompleted += new DownloadFileGroupCompletedEventHandler(deployment_DownloadFileGroupCompleted);

                deployment.DownloadFileGroupAsync(fileGroup);
            }
        }
        catch (InvalidOperationException ioe)
        {
            MessageBox.Show("This application is not a ClickOnce application. Error: " + ioe.Message);
            return;
        }
    }
}

void deployment_DownloadFileGroupProgressChanged(object sender, DeploymentProgressChangedEventArgs e)
{
    downloadStatus.Text = String.Format("Downloading file group {0}; {1:D}K of {2:D}K completed.", e.Group, e.BytesCompleted / 1024, e.BytesTotal / 1024);               
}

void deployment_DownloadFileGroupCompleted(object sender, DownloadFileGroupCompletedEventArgs e)
{
    if (e.Error != null)
    {
        downloadStatus.Text = "Could not download files. Will try again later.";
        return;
    }
    else if (e.Cancelled)
    {
        downloadStatus.Text = "The file download has been cancelled.";
        return;
    }

    downloadStatus.Text = String.Format("Download of file group {0} complete.", e.Group);
}
Dim WithEvents ADDownloadHelpFiles As ApplicationDeployment

Private Sub DownloadHelpFiles(ByVal GroupName As String)
    If (ApplicationDeployment.IsNetworkDeployed) Then
        ADDownloadHelpFiles = ApplicationDeployment.CurrentDeployment

        If ADDownloadHelpFiles.IsFirstRun Then
            Try
                If Not ADDownloadHelpFiles.IsFileGroupDownloaded(GroupName) Then
                    ADDownloadHelpFiles.DownloadFileGroupAsync(GroupName)
                End If
            Catch ioe As InvalidOperationException
                MessageBox.Show("This application is not a ClickOnce application.")
                Return
            End Try
        End If
    End If
End Sub

Private Sub ADDownloadHelpFiles_DownloadFileGroupProgressChanged(ByVal sender As Object, ByVal e As DeploymentProgressChangedEventArgs) Handles ADDownloadHelpFiles.DownloadFileGroupProgressChanged
    DownloadStatus.Text = String.Format("Downloading file group {0}; {1:D}K of {2:D}K completed.", e.Group, e.BytesCompleted / 1024, e.BytesTotal / 1024)
End Sub

Private Sub ADDownloadHelpFiles_DownloadFileGroupCompleted(ByVal sender As Object, ByVal e As DownloadFileGroupCompletedEventArgs) Handles ADDownloadHelpFiles.DownloadFileGroupCompleted
    DownloadStatus.Text = String.Format("Download of file group {0} complete.", e.Group)
End Sub

プロパティ

Cancelled

非同期操作がキャンセルされたかどうかを示す値を取得します。

(継承元 AsyncCompletedEventArgs)
Error

非同期操作中に発生したエラーを示す値を取得します。

(継承元 AsyncCompletedEventArgs)
Group

ダウンロードされるファイル グループの名前を取得します。

UserState

非同期タスクの一意の識別子を取得します。

(継承元 AsyncCompletedEventArgs)

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
RaiseExceptionIfNecessary()

非同期操作が失敗した場合は、ユーザー指定の例外を発生させます。

(継承元 AsyncCompletedEventArgs)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください