CompletedEventHandler Delegate
.NET Framework 2.0
Represents the method that will handle the Completed event.
Namespace: System.Management
Assembly: System.Management (in system.management.dll)
Assembly: System.Management (in system.management.dll)
/** @delegate */ public delegate void CompletedEventHandler ( Object sender, CompletedEventArgs e )
JScript supports the use of delegates, but not the declaration of new ones.
Parameters
- sender
The instance of the object for which to invoke this method.
- e
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 = processClass.GetMethodParameters("Create"); inParams["CommandLine"] = "calc.exe"; processClass.InvokeMethod( handler, "Create", inParams, null); // Do something while method is executing while(!this.IsComplete) { System.Threading.Thread.Sleep(1000); } } // Property allows accessing the result // object in the main function private ManagementBaseObject ReturnObject { get { 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 { get { return isComplete; } } private void Completed(object sender, CompletedEventArgs e) { isComplete = true; Console.WriteLine("Method invoked."); } public static void Main() { InvokeMethodAsync invokeMethod = new InvokeMethodAsync(); return; } }
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
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.