C#勉強会

C#の学習日記

3.2 イベントハンドラって何だろう? 【作って覚えるVisual C# 2015】

【用語】イベントハンドラ event handler

 

csharpstudy.hatenablog.com

 

 

イベントハンドラって何だろう?

イベントハンドラは、イベントが発生したときに実際に呼ばれるメソッドのことです。

イベントをハンドル(Handle:処理する)仕組みと考えてください。

 

Visual Studioでは、イベントとメソッドをイベントハンドラという仕組みで対応させることによって、ドラッグ&ドロップで画面開発ができるようになっています。

クリックなどの動作と、処理を行うメソッドを結び付ける仕組みイベントハンドラなのです。

 

イベントハンドラの書式

VSが自動で生成するメソッド名(イベントハンドラの名前)

コントロール名_イベント名()

 

CalcButton_Click() というようなメソッド名があったら、

CalcButtonというボタンにClickというイベントが発生したときのイベントハンドラ

と理解すればOK

 

サンプルコード(イベントハンドラの記述例)

// ボタンのクリック時に以下のメソッド呼び出し

private void CalcButton_Click(object sender, EventArgs e)

{

    // 処理

}

 

イベントハンドラの引数

イベントハンドラには、必ず引数が2つある(お約束)

  1. 第1引数: どのオブジェクトから呼ばれたか (object sender の部分)
  2. 第2引数: どんな手段で呼ばれたか (EventArgs e の部分)

 

これらの情報がないと、こまやかにイベントを処理できないんですね?

 

イベントハンドラの仕組み

Google画像検索で調べたら、イベントハンドラの図解がありました。

 

blogs.msdn.microsoft.com

 

Windows フォームは、メッセージループと呼ばれる仕組みを使うことにより、イベント駆動型のプログラミングモデルを実現しています。

f:id:jsstudy:20170505183336p:plain

 

OSが勝手にやってくれている処理は、ユーザーが知らなくても平気だけど、裏方はこんなふうにして動いているんだなー。

 

 

作って覚えるVisual C# 2015 デスクトップアプリ入門

作って覚えるVisual C# 2015 デスクトップアプリ入門