DeploymentProgressChangedEventArgs クラス
アセンブリ: System.Deployment (system.deployment.dll 内)


このクラスには、CheckForUpdateProgressChanged イベント、DownloadFileGroupProgressChanged イベント、および UpdateProgressChanged イベントの進行状況を説明するプロパティが含まれています。このクラスのすべてのプロパティが各イベントに適用されるわけではありません。
BytesCompleted および BytesTotal は、それぞれが現在までにダウンロードされた合計バイト数とダウンロード操作の合計バイト数を表し、3 つのイベントすべてに適用されます。Group は、現在の DownloadFileGroupProgressChanged イベントに対応するファイル グループの名前を取得し、State は、ダウンロード操作の現在の段階を反映します。

HelpFiles という名前のファイル グループをダウンロードして、ステータス バーにダウンロードの進行状況を表示するコード例を次に示します。この例では、Windows フォーム アプリケーションを配置し、メイン フォームに StatusStrip コントロールと、downloadStatus という名前の ToolStripStatusPanel コントロールを用意する必要があります。
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 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 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 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
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); }
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."); } }

System.EventArgs
System.ComponentModel.ProgressChangedEventArgs
System.Deployment.Application.DeploymentProgressChangedEventArgs


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- DeploymentProgressChangedEventArgs クラスのページへのリンク