イベントハンドラ
イベントハンドラとは、JavaScriptで記述された、マウスの動きといった動作・操作に対して特定の処理を与えるための命令のことである。
リンクの上にマウスポインタが乗った、またはボタンがクリックされた、テキストボックスの内容が変更された、フォームの内容が送信されようとする、など、ユーザーが行う様々な操作に対して特定の処理を行わせる。イベントに応じて適切に設定された処理は、Webページをより動的・対話的なものにする。
イベントの発生源となるボタンやリンクは、オブジェクトと呼ばれる。イベントハンドラは、そのオブジェクトに対応するタグのイベント属性の値として記述される。(イベント属性とは、イベントの種類を表す属性のことである)。例えばクリックイベントの場合は、<INPUT TYPE="button">、<A>などの、タグのonClick属性の値としてイベントハンドラが記述される。
スクリプト言語: | AppleScript Ajax アクティブスクリプト イベントハンドラ CGI CPAN ECMAScript |
EventHandler ジェネリック デリゲート
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ Public Delegate Sub EventHandler(Of TEventArgs As EventArgs) ( _ sender As Object, _ e As TEventArgs _ )
[SerializableAttribute] public delegate void EventHandler<TEventArgs> ( Object sender, TEventArgs e ) where TEventArgs : EventArgs
[SerializableAttribute] generic<typename TEventArgs> where TEventArgs : EventArgs public delegate void EventHandler ( Object^ sender, TEventArgs e )

.NET Framework では、イベント モデルは基本的に、イベントをそのハンドラに関連付けるイベント デリゲートを持っています。イベントを発生させるには、次の 2 つの要素が必要です。
デリゲートは、シグネチャ (メソッドの戻り値の型とパラメータ リストの型) を定義する型です。デリゲート型を使用すると、そのデリゲートと同じシグネチャを持つメソッドを参照できる変数を宣言できます。
イベント ハンドラ デリゲートの標準シグネチャは、値を返さないメソッドを定義します。このメソッドの最初のパラメータは Object 型で、イベントを発生させるインスタンスを参照します。2 つ目のパラメータは、EventArgs 型から派生し、イベント データを保持します。イベントによってイベント データが生成されない場合、この 2 つ目のパラメータは、EventArgs の単なるインスタンスです。それ以外の場合には、2 つ目のパラメータは EventArgs から派生したカスタム型であり、イベント データを保持する必要のあるフィールドまたはプロパティを提供します。
EventHandler は、イベントによってイベント データが生成されるかどうかには関係なく、そのイベントのイベント ハンドラ メソッドを表す定義済みデリゲートです。イベントによってイベント データが生成されない場合は、ジェネリック型パラメータの代わりに EventArgs を使用します。それ以外の場合は、独自のカスタム イベント データ型を用意し、ジェネリック型パラメータの代わりにそのデータ型を使用します。
EventHandler を使用する利点は、イベントによってイベント データが生成される場合に、独自のカスタム デリゲートをコード化する必要がないことです。また、.NET Framework では、ジェネリック型パラメータの代わりに使用するイベント データ型には関係なく、EventHandler をサポートするために必要な実装は 1 つだけです。
イベントとイベントを処理するメソッドを関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。

イベント データと、そのイベント データを使用する標準の EventHandler デリゲートを宣言するコード例を次に示します。この例では、イベントがどのように発生するかも示しています。
' This example demonstrates the EventHandler(Of T) delegate. Imports System Imports System.Collections.Generic '--------------------------------------------------------- Public Class MyEventArgs Inherits EventArgs Private msg As String Public Sub New(messageData As String) msg = messageData End Sub 'New Public Property Message() As String Get Return msg End Get Set msg = value End Set End Property End Class 'MyEventArgs '--------------------------------------------------------- Public Class HasEvent ' Declare an event of delegate type EventHandler of ' MyEventArgs. Public Event SampleEvent As EventHandler(Of MyEventArgs) Public Sub DemoEvent(val As String) RaiseEvent SampleEvent(Me, New MyEventArgs(val)) End Sub 'DemoEvent End Class 'HasEvent '--------------------------------------------------------- Public Class Sample Public Shared Sub Main() Dim he As New HasEvent() AddHandler he.SampleEvent, AddressOf SampleEventHandler he.DemoEvent("Hey there, Bruce!") he.DemoEvent("How are you today?") he.DemoEvent("I'm pretty good.") he.DemoEvent("Thanks for asking!") End Sub 'Main Private Shared Sub SampleEventHandler(src As Object, _ mea As MyEventArgs) Console.WriteLine(mea.Message) End Sub 'SampleEventHandler End Class 'Sample '--------------------------------------------------------- ' 'This example produces the following results: ' 'Hey there, Bruce! 'How are you today? 'I'm pretty good. 'Thanks for asking! '
// This example demonstrates the EventHandler<T> delegate. using System; using System.Collections.Generic; //--------------------------------------------------------- public class MyEventArgs : EventArgs { private string msg; public MyEventArgs( string messageData ) { msg = messageData; } public string Message { get { return msg; } set { msg = value; } } } //--------------------------------------------------------- public class HasEvent { // Declare an event of delegate type EventHandler of // MyEventArgs. public event EventHandler<MyEventArgs> SampleEvent; public void DemoEvent(string val) { // Copy to a temporary variable to be thread-safe. EventHandler<MyEventArgs> temp = SampleEvent; if (temp != null) temp(this, new MyEventArgs(val)); } } //--------------------------------------------------------- public class Sample { public static void Main() { HasEvent he = new HasEvent(); he.SampleEvent += new EventHandler<MyEventArgs>(SampleEventHandler); he.DemoEvent("Hey there, Bruce!"); he.DemoEvent("How are you today?"); he.DemoEvent("I'm pretty good."); he.DemoEvent("Thanks for asking!"); } private static void SampleEventHandler(object src, MyEventArgs mea) { Console.WriteLine(mea.Message); } } //--------------------------------------------------------- /* This example produces the following results: Hey there, Bruce! How are you today? I'm pretty good. Thanks for asking! */

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


EventHandler デリゲート
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Delegate Sub EventHandler ( _ sender As Object, _ e As EventArgs _ )
[SerializableAttribute] [ComVisibleAttribute(true)] public delegate void EventHandler ( Object sender, EventArgs e )
[SerializableAttribute] [ComVisibleAttribute(true)] public delegate void EventHandler ( Object^ sender, EventArgs^ e )
/** @delegate */ /** @attribute SerializableAttribute() */ /** @attribute ComVisibleAttribute(true) */ public delegate void EventHandler ( Object sender, EventArgs e )

.NET Framework では、イベント モデルは基本的に、イベントをそのハンドラに関連付けるイベント デリゲートを持っています。イベントを発生させるには、次の 2 つの要素が必要です。
デリゲートは、シグネチャを定義する型、つまり、メソッドの戻り値の型およびパラメータ リストの型です。デリゲート型を使用して、デリゲートと同じシグネチャでメソッドを参照するための変数を宣言できます。
イベント ハンドラ デリゲートの標準シグネチャは、値を返さないメソッドを定義します。このメソッドの最初のパラメータの型は Object であり、イベントを発生させるインスタンスを参照します。2 番目のパラメータは、型 EventArgs から派生し、イベント データを保持します。イベントがイベント データを生成しなかった場合、2 番目のパラメータは単純に EventArgs のインスタンスになります。それ以外の場合、2 番目のパラメータは EventArgs から派生したカスタム型であり、イベント データを保持するために必要なフィールドまたはプロパティを提供します。
EventHandler は定義済みデリゲートであり、特に、データを生成しないイベントのイベント ハンドラ メソッドを表します。イベントがデータを生成しない場合は、カスタム イベント データ型を提供して、2 番目のパラメータの型をカスタム型とするデリゲートを作成するか、ジェネリック デリゲート クラス EventHandler を使ってカスタム型をジェネリック型パラメータで置き換える必要があります。
イベントとイベント処理メソッドを関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。
イベント ハンドラ デリゲートの詳細については、「イベントとデリゲート」を参照してください。

イベント データを使用しないイベント ハンドラ デリゲートを宣言するコード例を次に示します。EventHandler クラスはイベント デリゲートの型、sender はイベントを発生させるオブジェクト、e はデータを格納しないイベント データ オブジェクトです。この例のコードの 2 行目は、データを保持しないイベント用にクラス内のイベント メンバを定義します。
Delegate Sub EventHandler(sender As Object, e As EventArgs) Public Event NoDataEventHandler As EventHandler
public delegate void EventHandler(Object sender, EventArgs e); public event EventHandler NoDataEventHandler;
public: delegate void EventHandler( Object^ sender, EventArgs^ e ); event EventHandler^ NoDataEventHandler;
public delegate void EventHandler(Object sender, EventArgs e); public EventHandler noDataEventHandler = null; /** @event */ public void add_NoDataEventHandler(EventHandler p) { noDataEventHandler =(EventHandler)System.Delegate. Combine(noDataEventHandler, p); }//add_NoDataEventHandler /** @event */ public void remove_NoDataEventHandler(EventHandler p) { noDataEventHandler =(EventHandler)System.Delegate. Remove(noDataEventHandler, p); }// remove_NoDataEventHandler

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


「event handler」の例文・使い方・用例・文例
- 7はJanuaryseventhと読む
- EventHandlerのページへのリンク