新しいメソッドを作成せずにイベント ハンドラーをアタッチする方法はありますか? 私はそれが次のようになると思います:
TextBox1.TextChanged += new void(object s, EventArgs arg)
{
MessageBox.Show(arg.HashCode.ToString())
};
TextBox1.TextChanged+= (s,arg)=>{MessageBox.Show(arg.HashCode.ToString())};
MSDNに記載されているように、匿名の方法を使用できます。
// Create a handler for a click event
button1.Click += delegate(System.Object o, System.EventArgs e)
{ System.Windows.Forms.MessageBox.Show("Click!"); };
これは役に立つかもしれません:
this.TextBox1.TextChanged += (sender, eventargs) => Console.WriteLine("Do something here !!");
メソッドを定義することもできますが、この場合はより読みやすいと思います。
TextBox1.TextChanged += TextBox1_TextChanged;
private void TextBox1_TextChanged(object s, EventArgs arg)
{
MessageBox.Show(arg.GetHashCode().ToString());
}
代わりに、非匿名メソッドを宣言できます。
void TextBox1_TextChanged(object s, EventArgs arg)
{
MessageBox.Show(arg.HashCode.ToString());
}
void HandleEvent()
{
TextBox1.TextChanged += TextBox1_TextChanged;
}