読者です 読者をやめる 読者になる 読者になる

EventHandler

EventHandlerは、ボタンなどのコントロールで発生したイベントに対する処理を書くイベントハンドラメソッド用のデリゲート・・・。

EventHandler デリゲート (System)

これまで、自動で生成されていたイベントハンドラとその登録処理を自前で手書きで書いてみる・・・。

f:id:BG1:20170309224816p:plain

Windowsアプリケーションで、

f:id:BG1:20170309224849p:plain

Form1にButtonを貼り付ける・・・。

f:id:BG1:20170309224944p:plain

ここで、これまでならbutton1でダブルクリックで、ハンドラを自動生成していたが、今回はあえてしない・・・。

Form1.csを開いて、

イベントハンドラをhandlerという名前で定義・・・。
(あえてオリジナルとは違う名前にする・・・。)
引数はobject型とEventArgs型で名前は適当に・・・。
戻り値はvoid・・・。
handlerが呼ばれたら、"Event!"とメッセージボックスで表示・・・。

Form1のコンストラクタでは、InitializeComponentの後にhandlerを呼び出すEventHandlerデリゲートをbutton1.Clickに登録・・・。
button1が押されたら、button1.Clickが参照され、ハンドラが呼ばれるという仕組み・・・。

f:id:BG1:20170309225904p:plain

button1を押すと、

f:id:BG1:20170309225915p:plain

"Event!"が表示された・・・。

Sample/dotnet/EventHandler/EventHandler/src/EventHandler_ at master · bg1bgst333/Sample · GitHub