Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
 EventArrivedEventHandler Delegate
Collapse All/Expand All Collapse All
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
EventArrivedEventHandler Delegate

Represents the method that will handle the EventArrived event.

Namespace:  System.Management
Assembly:  System.Management (in System.Management.dll)
Visual Basic (Declaration)
Public Delegate Sub EventArrivedEventHandler ( _
    sender As Object, _
    e As EventArrivedEventArgs _
)
Visual Basic (Usage)
Dim instance As New EventArrivedEventHandler(AddressOf HandlerMethod)
C#
public delegate void EventArrivedEventHandler(
    Object sender,
    EventArrivedEventArgs e
)
Visual C++
public delegate void EventArrivedEventHandler(
    Object^ sender, 
    EventArrivedEventArgs^ e
)
JScript
JScript does not support delegates.

Parameters

sender
Type: System..::.Object
The instance of the object for which to invoke this method.
e
Type: System.Management..::.EventArrivedEventArgs
The EventArrivedEventArgs that specifies the reason the event was invoked.

The following asynchronous example sets up a WMI timer to raise an event every second, and removes it when no longer needed. The ManagementEventWatcher defines several .NET Framework events which are raised when WMI events are delivered. Delegates are attached to these events for handling the incoming data.

Visual Basic
Imports System
Imports System.Management

' This example shows asynchronous consumption of events.
' In this example you are listening for timer events.
' The first part of the example sets up the timer.

Public Class EventWatcherAsync

    Public Sub New()
        ' Set up a timer to raise events every 1 second
        '=============================================
        Dim timerClass As New ManagementClass( _
            "__IntervalTimerInstruction")
        Dim timer As ManagementObject = _
            timerClass.CreateInstance()
        timer("TimerId") = "Timer1"
        timer("IntervalBetweenEvents") = 1000
        timer.Put()

        ' Set up the event consumer
        '==========================
        ' Create event query to receive timer events
        Dim query As New WqlEventQuery("__TimerEvent", _
            "TimerId=""Timer1""")

        ' Initialize an event watcher and subscribe to 
        ' events that match this query
        Dim watcher As New ManagementEventWatcher(query)

        ' Set up a listener for events
        AddHandler watcher.EventArrived, _
            AddressOf Me.HandleEvent

        ' Start listening
        watcher.Start()

        ' Do something in the meantime
        System.Threading.Thread.Sleep(10000)

        ' Stop listening
        watcher.Stop()

    End Sub

    Private Sub HandleEvent(ByVal sender As Object, _
        ByVal e As EventArrivedEventArgs)

        Console.WriteLine("Event arrived !")
    End Sub

    Public Overloads Shared Function _
            Main(ByVal args() As String) As Integer

        'start the event watcher
        Dim eventWatcher As New EventWatcherAsync

        Return 0

    End Function

End Class
C#
using System;
using System.Management;

// This example shows asynchronous consumption of events.
// In this example you are listening for timer events.
// The first part of the example sets up the timer.
public class EventWatcherAsync 
{
    public EventWatcherAsync()
    {
        // Set up a timer to raise events every 1 second
        //=============================================
        ManagementClass timerClass = 
            new ManagementClass("__IntervalTimerInstruction");
        ManagementObject timer = timerClass.CreateInstance();
        timer["TimerId"] = "Timer1";
        timer["IntervalBetweenEvents"] = 1000;
        timer.Put();

        // Set up the event consumer
        //==========================
        // Create event query to receive timer events
        WqlEventQuery query = 
            new WqlEventQuery("__TimerEvent",
            "TimerId=\"Timer1\"");

        // Initialize an event watcher and 
        // subscribe to timer events 
        ManagementEventWatcher watcher = 
            new ManagementEventWatcher(query);

        // Set up a listener for events
        watcher.EventArrived += 
            new EventArrivedEventHandler(
            this.HandleEvent);

        // Start listening
        watcher.Start();

        // Do something in the meantime
        System.Threading.Thread.Sleep(10000);

        // Stop listening
        watcher.Stop();

    }


    private void HandleEvent(object sender,
        EventArrivedEventArgs e)   
    {
        Console.WriteLine("Event arrived !");
    }

    public static void Main(string[] args) 
    {
        // start the event watcher
        EventWatcherAsync eventWatcher = new
            EventWatcherAsync();
    }
}

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
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use | Trademarks | Privacy Statement | Site Feedback
Page view tracker