event handlerとは? わかりやすく解説

Weblio 辞書 > コンピュータ > IT用語辞典 > event handlerの意味・解説 

イベントハンドラ

【英】event handler

イベントハンドラとは、JavaScriptで記述された、マウスの動きといった動作・操作に対して特定の処理を与えるための命令のことである。

リンクの上にマウスポインタが乗った、またはボタンがクリックされた、テキストボックスの内容が変更された、フォームの内容が送信されようとする、など、ユーザーが行う様々な操作に対して特定の処理を行わせる。イベントに応じて適切に設定された処理は、Webページをより動的・対話的なものにする。

イベントの発生源となるボタンやリンクは、オブジェクトと呼ばれる。イベントハンドラは、そのオブジェクトに対応するタグのイベント属性の値として記述される。(イベント属性とは、イベントの種類を表す属性のことである)。例えばクリックイベントの場合は、<INPUT TYPE="button">、<A>などの、タグのonClick属性の値としてイベントハンドラが記述される。

プログラミングのほかの用語一覧
スクリプト言語:  AppleScript  Ajax  アクティブスクリプト  イベントハンドラ  CGI  CPAN  ECMAScript

EventHandler ジェネリック デリゲート

メモ : このデリゲートは、.NET Framework version 2.0 で新しく追加されたものです。

イベントを処理するメソッドを表します。ジェネリック型の引数は、イベントによって生成されるイベント データの型を指定します。

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
Public Delegate Sub EventHandler(Of
 TEventArgs As EventArgs) ( _
    sender As Object, _
    e As TEventArgs _
)
Dim instance As New EventHandler(Of
 TEventArgs)(AddressOf HandlerMethod)
[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
)
J# では、ジェネリックな型およびメソッドは使用できますが、新規に宣言することはできません。
JScript では、ジェネリックな型およびメソッドは使用できません。

パラメータ

sender

イベントのソース。

e

イベント データを格納している EventArgs。

解説解説

.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!

*/
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

EventHandler デリゲート

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

名前空間: System
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public Delegate Sub EventHandler
 ( _
    sender As Object, _
    e As EventArgs _
)
Dim instance As New EventHandler(AddressOf
 HandlerMethod)
[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
)
JScript では、デリゲートは使用できますが、新規に宣言することはできません。

パラメータ

sender

イベントのソース。

e

イベント データを格納している EventArgs。

解説解説

.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

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照

「event handler」の例文・使い方・用例・文例

  • 7はJanuaryseventhと読む
Weblio日本語例文用例辞書はプログラムで機械的に例文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。


英和和英テキスト翻訳

英語⇒日本語日本語⇒英語

辞書ショートカット

すべての辞書の索引

「event handler」の関連用語

event handlerのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



event handlerのページの著作権

   
IT用語辞典バイナリIT用語辞典バイナリ
Copyright © 2005-2026 Weblio 辞書 IT用語辞典バイナリさくいん。 この記事は、IT用語辞典バイナリの【イベントハンドラ】の記事を利用しております。
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2026 Microsoft.All rights reserved.
Tanaka Corpusのコンテンツは、特に明示されている場合を除いて、次のライセンスに従います:
 Creative Commons Attribution (CC-BY) 2.0 France.
この対訳データはCreative Commons Attribution 3.0 Unportedでライセンスされています。
浜島書店 Catch a Wave
Copyright © 1995-2026 Hamajima Shoten, Publishers. All rights reserved.
株式会社ベネッセコーポレーション株式会社ベネッセコーポレーション
Copyright © Benesse Holdings, Inc. All rights reserved.
研究社研究社
Copyright (c) 1995-2026 Kenkyusha Co., Ltd. All rights reserved.
日本語WordNet日本語WordNet
日本語ワードネット1.1版 (C) 情報通信研究機構, 2009-2010 License All rights reserved.
WordNet 3.0 Copyright 2006 by Princeton University. All rights reserved. License
日外アソシエーツ株式会社日外アソシエーツ株式会社
Copyright (C) 1994- Nichigai Associates, Inc., All rights reserved.
「斎藤和英大辞典」斎藤秀三郎著、日外アソシエーツ辞書編集部編
EDRDGEDRDG
This page uses the JMdict dictionary files. These files are the property of the Electronic Dictionary Research and Development Group, and are used in conformance with the Group's licence.

©2026 GRAS Group, Inc.RSS