最終更新:2015-04-28 (火) 03:10:54 (3285d)  

C♯/イベントハンドラ
Top / C♯ / イベントハンドラ

イベントを処理するメソッド

なんとかEventHandler

  • イベントに使われるデリゲート型
    • イベントの引数の型などを定義。

EventHandler

  • イベント データを持たないイベントを処理するメソッドを表します。
     public delegate void EventHandler(object sender, EventArgs e)

その他

  • パラメータに情報を持たせたいときはEventArgsを継承したクラスを定義して新たなハンドラを定義する
  • AddingNewEventHandler?(sender, AddingNewEventArgs? e)
  • AsyncCompletedEventHandler?(sender, e)
  • CancelEventHandler?(sender, e)
  • CollectionChangeEventHandler?(sender, e)
  • DoWorkEventHandler?(sender, e)
  • HandledEventHandler?(sender, e)
  • ListChangedEventHandler?(sender, e)
  • ProgressChangedEventHandler?(sender, e)
  • PropertyChangedEventHandler(sender, e)
  • RefreshEventHandler?(sender, e)
  • RunWorkerCompletedEventHandler?(sender, RunWorkerCompletedEventArgs? e)

ジェネリックバージョン

  • デリゲートEventHandler<TEventArgs>を使ってもイベントハンドラを定義できる。
    [SerializableAttribute]
    public delegate void EventHandler<TEventArgs>(
    	Object sender,
    	TEventArgs e
    )
    where TEventArgs : EventArgs
  • class HogeClass
    {
      //EventHandler<T>を使ってイベントを宣言
      //public event デリゲート型 イベント;
      public event EventHandler<CustomEventArgs> RaiseCustomEvent;
    }

メモ

  • イベントハンドラ+=関数;とするとイベントハンドラのデリゲートに関数が追加される

関連