いまさらだけども。
書き方#1
以前はこんな感じで書いていた(気がする)。
イベントハンドラの追加処理
class クラス
{
メソッド
{
:
button1.Click += new EventHandler(button1_Click);
:
}
}
イベントハンドラのメソッド記載
void button1_Click(object sender, EventArgs e)
{
:
}
書き方#2
new EventHandler
は省略できて、下記のように書ける。
イベントハンドラの追加処理
class クラス
{
メソッド
{
:
button1.Click += button1_Click;
:
}
}
イベントハンドラのメソッド記載
void button1_Click(object sender, EventArgs e)
{
:
}
書き方#3
ラムダ式で匿名メソッドとして書ける。かなり短くなった。
「処理内容」は、1行で書けないならメソッド化したほうが見やすい気がする。
イベントハンドラの追加処理
class クラス
{
メソッド
{
:
button1.Click += (sender,e)=>{ 処理内容 };
:
}
}
使いわけ
EventArgs
(もしくはその派生クラス)の引数を使いたいときは書き方#2を使いたくなるところ。
同じ.cs
ファイル内では、書き方#2か書き方#3で統一したい。
参考サイト
https://www.ipentec.com/document/csharp-add-event-handler-by-code
https://tnakamura.hatenablog.com/entry/20090309/1236549534