次の方法で共有


EventHandler デリゲート

イベント データを持たないイベントを処理するメソッドを表します。

<Serializable>
Public Delegate Sub EventHandler( _   ByVal sender As Object, _   ByVal e As EventArgs _)
[C#]
[Serializable]
public delegate void EventHandler(   object sender,   EventArgs e);
[C++]
[Serializable]
public __gc __delegate void EventHandler(   Object* sender,   EventArgs* e);

[JScript] JScript では、.NET Framework のデリゲートを利用することができます。ただし、独自に定義することはできません。

パラメータ [Visual Basic, C#, C++]

作成するイベント ハンドラは、EventHandler クラスのデリゲート定義と同一のパラメータを持つ必要があります。

  • sender
    イベントのソース。
  • e
    イベント データを格納している EventArgs

解説

.NET Framework では、イベント モデルは基本的に、イベントをそのハンドラに関連付けるイベント デリゲートを持っています。イベントを発生させるには、次の 2 つの要素が必要です。

  • イベント データを保持しているクラス。このクラスは、基本クラス EventArgs から派生している必要があります。
  • イベントへの応答を提供するメソッドを指すデリゲート。

イベントがデータを生成しない場合、イベント データ オブジェクトには基本クラス EventArgs 、イベント デリゲートには定義済みの EventHandler を使用します。

EventHandler デリゲートを作成する場合は、イベントを処理するメソッドを識別します。イベントをイベント ハンドラに関連付けるには、デリゲートのインスタンスをイベントに追加します。デリゲートを削除しない限り、そのイベントが発生すると常にイベント ハンドラが呼び出されます。イベント ハンドラ デリゲートの詳細については、「 イベントとデリゲート 」を参照してください。

使用例

[Visual Basic, C#, C++] データを持たないイベント デリゲートの宣言を次に示します。ここで、 EventHandler は定義済みのイベント デリゲート、 sender はイベントを発生させるオブジェクト、 e はデータを格納していないイベント データ オブジェクトです。2 行目では、クラス内で、データを持たないイベントのイベント メンバを定義しています。

 
Delegate Sub EventHandler(sender As Object, e As EventArgs)
   
Public Event NoDataEventHandler As EventHandler

[C#] 
public delegate void EventHandler(Object sender, EventArgs e);

public event EventHandler NoDataEventHandler;

[C++] 
public:
__delegate void EventHandler(Object* sender, EventArgs* e);

__event EventHandler* NoDataEventHandler;

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

名前空間: System

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

アセンブリ: Mscorlib (Mscorlib.dll 内)

参照

System 名前空間 | EventArgs | Delegate | イベントとデリゲート