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


イベントベースの非同期パターンの概要 を実装するクラスを使用する場合、そのクラスは MethodNameCompleted イベントを提供します。System.ComponentModel.AsyncCompletedEventHandler デリゲートのインスタンスをイベントに追加すると、対応するイベント ハンドラ メソッドの AsyncCompletedEventArgs パラメータに非同期操作の結果に関する情報を受け取ります。
クライアント アプリケーションのイベント ハンドラ デリゲートは、Cancelled プロパティをチェックして、非同期タスクがキャンセルされたかどうかを確認できます。
クライアント アプリケーションのイベント ハンドラ デリゲートは、Error プロパティをチェックして、非同期タスクの実行中に例外が発生したかどうかを確認できます。
クラスが複数の非同期メソッドまたは同じ非同期メソッドの複数回にわたる呼び出しをサポートしている場合は、UserState プロパティの値をチェックすることによって、どのタスクによって MethodNameCompleted イベントが発生したかを確認できます。コードは、対応する非同期タスクの開始時と完了時に、タスク ID と呼ばれるこれらのトークンを追跡する必要があります。
![]() |
---|
このクラスに適用される HostProtectionAttribute 属性の Resources プロパティの値は、SharedState です。HostProtectionAttribute は、デスクトップ アプリケーション (一般的には、アイコンをダブルクリック、コマンドを入力、またはブラウザに URL を入力して起動するアプリケーション) には影響しません。詳細については、HostProtectionAttribute クラスのトピックまたは「SQL Server プログラミングとホスト保護属性」を参照してください。 |

AsyncOperation を使用して非同期操作の有効期間を追跡するコード例を次に示します。このコード例は、System.ComponentModel.AsyncOperationManager クラスのトピックで取り上げているコード例の一部分です。
Imports System Imports System.Collections Imports System.Collections.Specialized Imports System.ComponentModel Imports System.Drawing Imports System.Globalization Imports System.Threading Imports System.Windows.Forms <br /><span space="preserve">...</span><br /> ' This event handler updates the ListView control when the ' PrimeNumberCalculator raises the CalculatePrimeCompleted ' event. The ListView item is updated with the appropriate ' outcome of the calculation: Canceled, Error, or result. Private Sub primeNumberCalculator1_CalculatePrimeCompleted( _ ByVal sender As Object, _ ByVal e As CalculatePrimeCompletedEventArgs) _ Handles primeNumberCalculator1.CalculatePrimeCompleted Dim taskId As Guid = CType(e.UserState, Guid) If e.Cancelled Then Dim result As String = "Canceled" Dim lvi As ListViewItem = UpdateListViewItem( _ taskId, _ result) If Not (lvi Is Nothing) Then lvi.BackColor = Color.Pink lvi.Tag = Nothing End If ElseIf e.Error IsNot Nothing Then Dim result As String = "Error" Dim lvi As ListViewItem = UpdateListViewItem( _ taskId, result) If Not (lvi Is Nothing) Then lvi.BackColor = Color.Red lvi.ForeColor = Color.White lvi.Tag = Nothing End If Else Dim result As Boolean = e.IsPrime Dim lvi As ListViewItem = UpdateListViewItem( _ taskId, _ result, _ e.FirstDivisor) If Not (lvi Is Nothing) Then lvi.BackColor = Color.LightGray lvi.Tag = Nothing End If End If End Sub
using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Data; using System.Drawing; using System.Globalization; using System.Threading; using System.Windows.Forms; <br /><span space="preserve">...</span><br /> // This event handler updates the ListView control when the // PrimeNumberCalculator raises the CalculatePrimeCompleted // event. The ListView item is updated with the appropriate // outcome of the calculation: Canceled, Error, or result. private void primeNumberCalculator1_CalculatePrimeCompleted( object sender, CalculatePrimeCompletedEventArgs e) { Guid taskId = (Guid)e.UserState; if (e.Cancelled) { string result = "Canceled"; ListViewItem lvi = UpdateListViewItem(taskId, result); if (lvi != null) { lvi.BackColor = Color.Pink; lvi.Tag = null; } } else if (e.Error != null) { string result = "Error"; ListViewItem lvi = UpdateListViewItem(taskId, result); if (lvi != null) { lvi.BackColor = Color.Red; lvi.ForeColor = Color.White; lvi.Tag = null; } } else { bool result = e.IsPrime; ListViewItem lvi = UpdateListViewItem( taskId, result, e.FirstDivisor); if (lvi != null) { lvi.BackColor = Color.LightGray; lvi.Tag = null; } } }
import System.*; import System.Collections.*; import System.Collections.Specialized.*; import System.ComponentModel.*; import System.Data.*; import System.Drawing.*; import System.Threading.*; import System.Windows.Forms.*; <br /><span space="preserve">...</span><br /> private void primeNumberCalculator1_CalculatePrimeCompleted(Object sender, CalculatePrimeCompletedEventArgs e) { Guid guid = (Guid)e.get_UserState(); if (e.get_Cancelled()) { String result = "Cancelled"; ListViewItem lvi = UpdateListViewItem((Guid)e.get_UserState(), result); if (lvi != null) { lvi.set_BackColor(Color.get_Pink()); lvi.set_Tag(null); } } else { if (e.get_Error() != null) { String result = "Error"; ListViewItem lvi = UpdateListViewItem((Guid)e.get_UserState(), result); if (lvi != null) { lvi.set_BackColor(Color.get_Red()); lvi.set_ForeColor(Color.get_White()); lvi.set_Tag(null); } } else { boolean result = e.get_IsPrime(); ListViewItem lvi = UpdateListViewItem((Guid)e.get_UserState(), result, e.get_FirstDivisor()); if (lvi != null) { lvi.set_BackColor(Color.get_LightGray()); lvi.set_Tag(null); } } } } //primeNumberCalculator1_CalculatePrimeCompleted



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


AsyncCompletedEventArgs メンバ
System.ComponentModel 名前空間
System.ComponentModel.AsyncCompletedEventHandler
System.ComponentModel.AsyncOperationManager
System.ComponentModel.AsyncOperation
その他の技術情報
イベントベースの非同期パターンの実装
Weblioに収録されているすべての辞書からAsyncCompletedEventArgs クラスを検索する場合は、下記のリンクをクリックしてください。

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