ApplicationDeployment.DownloadFileGroupProgressChanged イベント
アセンブリ: System.Deployment (system.deployment.dll 内)

Dim instance As ApplicationDeployment Dim handler As DeploymentProgressChangedEventHandler AddHandler instance.DownloadFileGroupProgressChanged, handler
public: event DeploymentProgressChangedEventHandler^ DownloadFileGroupProgressChanged { void add (DeploymentProgressChangedEventHandler^ value); void remove (DeploymentProgressChangedEventHandler^ value); }

DownloadFileGroupProgressChanged イベントは、メイン アプリケーション スレッドで呼び出されます。このコールバックでアプリケーションの Windows フォーム コントロールを直接呼び出すことはスレッド セーフです。
DeploymentProgressChangedEventArgs で提供された情報を使用して、進行状況の情報をユーザーに伝えます。

ヘルプ ファイルのグループをバックグラウンドでダウンロードするコード例を次に示します。この例では、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."); } }

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からApplicationDeployment.DownloadFileGroupProgressChanged イベントを検索する場合は、下記のリンクをクリックしてください。

- ApplicationDeployment.DownloadFileGroupProgressChanged イベントのページへのリンク