EventArgs Classe
Definizione
Rappresenta la classe base per le classi che contengono dati eventi e fornisce un valore da usare per gli eventi che non includono dati eventi.Represents the base class for classes that contain event data, and provides a value to use for events that do not include event data.
public ref class EventArgs
public class EventArgs
[System.Serializable]
public class EventArgs
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public class EventArgs
type EventArgs = class
[<System.Serializable>]
type EventArgs = class
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type EventArgs = class
Public Class EventArgs
- Ereditarietà
-
EventArgs
- Derivato
- Attributi
Esempio
Nell'esempio seguente viene illustrata una classe di dati evento personalizzata denominata ThresholdReachedEventArgs
che deriva dalla EventArgs classe.The following example shows a custom event data class named ThresholdReachedEventArgs
that derives from the EventArgs class. Un'istanza della classe di dati Event viene passata al gestore eventi per l' ThresholdReached
evento.An instance of the event data class is passed to the event handler for the ThresholdReached
event.
using namespace System;
public ref class ThresholdReachedEventArgs : public EventArgs
{
public:
property int Threshold;
property DateTime TimeReached;
};
public ref class Counter
{
private:
int threshold;
int total;
public:
Counter() {};
Counter(int passedThreshold)
{
threshold = passedThreshold;
}
void Add(int x)
{
total += x;
if (total >= threshold) {
ThresholdReachedEventArgs^ args = gcnew ThresholdReachedEventArgs();
args->Threshold = threshold;
args->TimeReached = DateTime::Now;
OnThresholdReached(args);
}
}
event EventHandler<ThresholdReachedEventArgs^>^ ThresholdReached;
protected:
virtual void OnThresholdReached(ThresholdReachedEventArgs^ e)
{
ThresholdReached(this, e);
}
};
public ref class SampleHandler
{
public:
static void c_ThresholdReached(Object^ sender, ThresholdReachedEventArgs^ e)
{
Console::WriteLine("The threshold of {0} was reached at {1}.",
e->Threshold, e->TimeReached);
Environment::Exit(0);
}
};
void main()
{
Counter^ c = gcnew Counter((gcnew Random())->Next(10));
c->ThresholdReached += gcnew EventHandler<ThresholdReachedEventArgs^>(SampleHandler::c_ThresholdReached);
Console::WriteLine("press 'a' key to increase total");
while (Console::ReadKey(true).KeyChar == 'a') {
Console::WriteLine("adding one");
c->Add(1);
}
}
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Counter c = new Counter(new Random().Next(10));
c.ThresholdReached += c_ThresholdReached;
Console.WriteLine("press 'a' key to increase total");
while (Console.ReadKey(true).KeyChar == 'a')
{
Console.WriteLine("adding one");
c.Add(1);
}
}
static void c_ThresholdReached(object sender, ThresholdReachedEventArgs e)
{
Console.WriteLine("The threshold of {0} was reached at {1}.", e.Threshold, e.TimeReached);
Environment.Exit(0);
}
}
class Counter
{
private int threshold;
private int total;
public Counter(int passedThreshold)
{
threshold = passedThreshold;
}
public void Add(int x)
{
total += x;
if (total >= threshold)
{
ThresholdReachedEventArgs args = new ThresholdReachedEventArgs();
args.Threshold = threshold;
args.TimeReached = DateTime.Now;
OnThresholdReached(args);
}
}
protected virtual void OnThresholdReached(ThresholdReachedEventArgs e)
{
EventHandler<ThresholdReachedEventArgs> handler = ThresholdReached;
if (handler != null)
{
handler(this, e);
}
}
public event EventHandler<ThresholdReachedEventArgs> ThresholdReached;
}
public class ThresholdReachedEventArgs : EventArgs
{
public int Threshold { get; set; }
public DateTime TimeReached { get; set; }
}
}
Module Module1
Sub Main()
Dim c As Counter = New Counter(New Random().Next(10))
AddHandler c.ThresholdReached, AddressOf c_ThresholdReached
Console.WriteLine("press 'a' key to increase total")
While Console.ReadKey(True).KeyChar = "a"
Console.WriteLine("adding one")
c.Add(1)
End While
End Sub
Sub c_ThresholdReached(sender As Object, e As ThresholdReachedEventArgs)
Console.WriteLine("The threshold of {0} was reached at {1}.", e.Threshold, e.TimeReached)
Environment.Exit(0)
End Sub
End Module
Class Counter
Private threshold As Integer
Private total As Integer
Public Sub New(passedThreshold As Integer)
threshold = passedThreshold
End Sub
Public Sub Add(x As Integer)
total = total + x
If (total >= threshold) Then
Dim args As ThresholdReachedEventArgs = New ThresholdReachedEventArgs()
args.Threshold = threshold
args.TimeReached = DateTime.Now
OnThresholdReached(args)
End If
End Sub
Protected Overridable Sub OnThresholdReached(e As ThresholdReachedEventArgs)
RaiseEvent ThresholdReached(Me, e)
End Sub
Public Event ThresholdReached As EventHandler(Of ThresholdReachedEventArgs)
End Class
Class ThresholdReachedEventArgs
Inherits EventArgs
Public Property Threshold As Integer
Public Property TimeReached As DateTime
End Class
Commenti
Questa classe funge da classe di base per tutte le classi che rappresentano i dati dell'evento.This class serves as the base class for all classes that represent event data. La classe, ad esempio, System.AssemblyLoadEventArgs deriva da EventArgs e viene utilizzata per conservare i dati per gli eventi di caricamento dell'assembly.For example, the System.AssemblyLoadEventArgs class derives from EventArgs and is used to hold the data for assembly load events. Per creare una classe di dati di evento personalizzata, creare una classe che deriva dalla EventArgs classe e specificare le proprietà per archiviare i dati necessari.To create a custom event data class, create a class that derives from the EventArgs class and provide the properties to store the necessary data. Il nome della classe di dati evento personalizzata deve terminare con EventArgs
.The name of your custom event data class should end with EventArgs
.
Per passare un oggetto che non contiene dati, usare il Empty campo.To pass an object that does not contain any data, use the Empty field.
Per altre informazioni sugli eventi, vedere l'articolo gestione e generazione di eventi .For more information about events, see the Handling and Raising Events article.
Costruttori
EventArgs() |
Inizializza una nuova istanza della classe EventArgs.Initializes a new instance of the EventArgs class. |
Campi
Empty |
Fornisce un valore da utilizzare con eventi che non dispongono di dati.Provides a value to use with events that do not have event data. |
Metodi
Equals(Object) |
Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object. (Ereditato da Object) |
GetHashCode() |
Funge da funzione hash predefinita.Serves as the default hash function. (Ereditato da Object) |
GetType() |
Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance. (Ereditato da Object) |
MemberwiseClone() |
Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object. (Ereditato da Object) |
ToString() |
Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object. (Ereditato da Object) |
Si applica a
Vedi anche
- Gestione e generazione di eventiHandling and Raising Events
- Procedura: generare e utilizzare eventiHow to: Raise and Consume Events
- Eventi (Visual Basic)Events (Visual Basic)
- Eventi (Guida per programmatori C#)Events (C# Programming Guide)
- Panoramica degli eventi e degli eventi indirizzati (app di Windows Store)Events and routed events overview (Windows store apps)