DeploymentProgressChangedEventArgs クラス

定義

非同期操作で報告される進行状況データを表します。Represents progress data reported in an asynchronous operation.

public ref class DeploymentProgressChangedEventArgs : System::ComponentModel::ProgressChangedEventArgs
public class DeploymentProgressChangedEventArgs : System.ComponentModel.ProgressChangedEventArgs
type DeploymentProgressChangedEventArgs = class
    inherit ProgressChangedEventArgs
Public Class DeploymentProgressChangedEventArgs
Inherits ProgressChangedEventArgs
継承
DeploymentProgressChangedEventArgs

次のコード例では、というHelpFiles名前のファイルグループをダウンロードし、ダウンロードの進行状況をステータスバーに表示します。The following code example downloads a file group named HelpFiles, and displays download progress in a status bar. この例では、Windows フォームアプリケーションを配置し、メインフォームStatusStripにコントロールToolStripStatusLabelとという名前downloadStatusのコントロールを配置する必要があります。This example requires that you deploy a Windows Forms application, and that your main form has a StatusStrip control, and a ToolStripStatusLabel control named 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

注釈

このクラスにはCheckForUpdateProgressChanged、、 DownloadFileGroupProgressChanged、およびUpdateProgressChangedの各イベントの進行状況を記述するプロパティが含まれています。This class contains properties that describe progress for the CheckForUpdateProgressChanged, DownloadFileGroupProgressChanged, and UpdateProgressChanged events. このクラスのすべてのプロパティが各イベントに適用されるわけではありません。Not every property in this class applies to each event.

BytesCompletedBytesTotalは、ダウンロード操作の合計バイト数とダウンロード操作の合計バイト数を表します。これらは、3つのイベントすべてに適用されます。BytesCompleted and BytesTotal represent the total number of bytes downloaded to date and the total number of bytes in the download operation, respectively; they apply to all three events. Group現在DownloadFileGroupProgressChangedのイベントに対応するファイルグループに名前をState付ける。ダウンロード操作の現在の段階を反映します。Group names the file group corresponding to the current DownloadFileGroupProgressChanged event, and State reflects the current stage of the download operation.

プロパティ

BytesCompleted

この操作によって既にダウンロードされているバイト数を取得します。Gets the number of bytes already downloaded by this operation.

BytesTotal

ダウンロード操作の合計バイト数を取得します。Gets the total number of bytes in the download operation.

Group

ダウンロードされるファイル グループの名前を取得します。Gets the name of the file group being downloaded.

ProgressPercentage

非同期タスクの進行状況の割合を取得します。Gets the asynchronous task progress percentage.

(継承元 ProgressChangedEventArgs)
State

プロセスが現在実行しているアクションを取得します。Gets the action that the process is currently executing.

UserState

一意のユーザー状態を取得します。Gets a unique user state.

(継承元 ProgressChangedEventArgs)

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象

こちらもご覧ください