CompletedEventHandler Delegate
Collapse the table of content
Expand the table of content

CompletedEventHandler Delegate

Represents the method that will handle the Completed event.

Namespace:  System.Management
Assembly:  System.Management (in System.Management.dll)

public delegate void CompletedEventHandler(
	Object sender,
	CompletedEventArgs e


Type: System.Object

The instance of the object for which to invoke this method.

Type: System.Management.CompletedEventArgs

The CompletedEventArgs that specifies the reason the event was invoked.

The following example calls a method asynchronously. The Win32_Process.Create method is called to create a new process for Calc.exe.

using System;
using System.Management;

public class InvokeMethodAsync 
    private bool isComplete = false;
    private ManagementBaseObject returnObject;

    public InvokeMethodAsync()
        // Get the object on which the method  
        // will be invoked
        ManagementClass processClass = 
            new ManagementClass("Win32_Process");

        // Create a results and completion handler
        ManagementOperationObserver handler = 
            new ManagementOperationObserver();
        handler.Completed += 
            new CompletedEventHandler(this.Completed);

        // Invoke method asynchronously
        ManagementBaseObject inParams =
        inParams["CommandLine"] = "calc.exe";
            handler, "Create", inParams, null);

        // Do something while method is executing 


    // Property allows accessing the result 
    // object in the main function 
    private ManagementBaseObject ReturnObject 
            return returnObject;

    // Delegate called when the method completes 
    // and results are available 
    private void NewObject(object sender,
        ObjectReadyEventArgs e) 
        Console.WriteLine("New Object arrived!");
        returnObject = e.NewObject;

    // Used to determine whether the method 
    // execution has completed 
    private bool IsComplete 
            return isComplete;

    private void Completed(object sender,
        CompletedEventArgs e)
        isComplete = true;
        Console.WriteLine("Method invoked.");

    public static void Main()
        InvokeMethodAsync invokeMethod = new InvokeMethodAsync();



Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0, 1.1, 1.0

Community Additions

© 2015 Microsoft