エクスポート (0) 印刷
すべて展開

RunWorkerCompletedEventArgs.Result プロパティ

メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

非同期操作の結果を表す値を取得します。

名前空間: System.ComponentModel
アセンブリ: System (system.dll 内)

public Object Result { get; }
/** @property */
public Object get_Result ()

public function get Result () : Object

プロパティ値

非同期操作の結果を表す Object

例外の種類条件

TargetInvocationException

Error が null 参照 (Visual Basic では Nothing) ではありません。InnerException プロパティは、Error への参照を保持します。

InvalidOperationException

Cancelledtrue です。

RunWorkerCompleted イベント ハンドラは、Result プロパティにアクセスする前に、常に Error プロパティおよび Cancelled プロパティをチェックする必要があります。例外が発生した場合、または操作がキャンセルされた場合、Result プロパティにアクセスすると例外が発生します。

RunWorkerCompleted イベントを使用して、非同期操作の結果を処理するコード例を次に示します。このコード例は、BackgroundWorker クラスのトピックで取り上げているコード例の一部分です。

// This event handler deals with the results of the
// background operation.
private void backgroundWorker1_RunWorkerCompleted(
    object sender, RunWorkerCompletedEventArgs e)
{
    // First, handle the case where an exception was thrown.
    if (e.Error != null)
    {
        MessageBox.Show(e.Error.Message);
    }
    else if (e.Cancelled)
    {
        // Next, handle the case where the user canceled 
        // the operation.
        // Note that due to a race condition in 
        // the DoWork event handler, the Cancelled
        // flag may not have been set, even though
        // CancelAsync was called.
        resultLabel.Text = "Canceled";
    }
    else
    {
        // Finally, handle the case where the operation 
        // succeeded.
        resultLabel.Text = e.Result.ToString();
    }

    // Enable the UpDown control.
    this.numericUpDown1.Enabled = true;

    // Enable the Start button.
    startAsyncButton.Enabled = true;

    // Disable the Cancel button.
    cancelAsyncButton.Enabled = false;
}

// This event handler deals with the results of the
// background operation.
private void backgroundWorker1_RunWorkerCompleted(Object sender,
    RunWorkerCompletedEventArgs e)
{
    // First, handle the case where an exception was thrown.
    if (e.get_Error() != null) {
    
        MessageBox.Show(e.get_Error().get_Message());
    }
    else {
    
        if (e.get_Cancelled()) {
        
            // Next, handle the case where the user cancelled 
            // the operation.
            // Note that due to a race condition in 
            // the DoWork event handler, the Cancelled
            // flag may not have been set, even though
            // CancelAsync was called.
            resultLabel.set_Text("Cancelled");
        }
        else {
        
            // Finally, handle the case where the operation 
            // succeeded.
            resultLabel.set_Text(e.get_Result().ToString());
        }
    }

    // Enable the UpDown control.
    this.numericUpDown1.set_Enabled(true);

    // Enable the Start button.
    startAsyncButton.set_Enabled(true);

    // Disable the Cancel button.
    cancelAsyncButton.set_Enabled(false);
} //backgroundWorker1_RunWorkerCompleted

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

.NET Framework

サポート対象 : 2.0

コミュニティの追加

追加
表示:
© 2014 Microsoft