EventArrivedEventHandler-Delegat
Stellt die Methode dar, die das EventArrived-Ereignis behandelt.
Namespace: System.Management
Assembly: System.Management (in system.management.dll)
Syntax
'Declaration
Public Delegate Sub EventArrivedEventHandler ( _
sender As Object, _
e As EventArrivedEventArgs _
)
'Usage
Dim instance As New EventArrivedEventHandler(AddressOf HandlerMethod)
public delegate void EventArrivedEventHandler (
Object sender,
EventArrivedEventArgs e
)
public delegate void EventArrivedEventHandler (
Object^ sender,
EventArrivedEventArgs^ e
)
/** @delegate */
public delegate void EventArrivedEventHandler (
Object sender,
EventArrivedEventArgs e
)
JScript unterstützt die Verwendung von Delegaten, aber nicht die Deklaration von neuen Delegaten.
Parameter
- sender
Die Instanz des Objekts, für das diese Methode aufgerufen werden soll.
- e
Die EventArrivedEventArgs-Klasse, die die Ursache für den Aufruf des Ereignisses angibt.
Beispiel
Im folgenden asynchronen Beispiel wird ein WMI-Zeitgeber eingerichtet, um alle 2 Sekunden ein Ereignis auszulösen. Wenn er nicht mehr benötigt wird, wird er dort auch entfernt. Die ManagementEventWatcher-Klasse definiert mehrere .NET Framework-Ereignisse, die ausgelöst werden, wenn WMI-Ereignisse übermittelt werden. Delegaten werden zum Behandeln der eingehenden Daten an diese Ereignisse angefügt.
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
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();
}
}
Plattformen
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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0