Sdílet prostřednictvím


EventArrivedEventHandler Delegát

Definice

Představuje metodu, která bude zpracovávat EventArrived událost.

public delegate void EventArrivedEventHandler(System::Object ^ sender, EventArrivedEventArgs ^ e);
public delegate void EventArrivedEventHandler(object sender, EventArrivedEventArgs e);
type EventArrivedEventHandler = delegate of obj * EventArrivedEventArgs -> unit
Public Delegate Sub EventArrivedEventHandler(sender As Object, e As EventArrivedEventArgs)

Parametry

sender
Object

Instance objektu, pro který chcete vyvolat tuto metodu.

e
EventArrivedEventArgs

Určuje EventArrivedEventArgs důvod, proč byla událost vyvolána.

Příklady

Následující asynchronní příklad nastaví časovač rozhraní WMI pro vyvolání události každou sekundu a odebere ji, když už ji nepotřebujete. Definuje ManagementEventWatcher několik událostí rozhraní .NET Framework, které jsou vyvolány při doručení událostí rozhraní WMI. Delegáti jsou k těmto událostem připojeni, aby mohli zpracovávat příchozí data.

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();
    }
}
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

Metody rozšíření

GetMethodInfo(Delegate)

Získá objekt, který představuje metodu reprezentovanou zadaným delegátem.

Platí pro