1

新しいメソッドを作成せずにイベント ハンドラーをアタッチする方法はありますか? 私はそれが次のようになると思います:

 TextBox1.TextChanged += new void(object s, EventArgs arg)
 {
     MessageBox.Show(arg.HashCode.ToString())
 };
4

5 に答える 5

9
TextBox1.TextChanged+= (s,arg)=>{MessageBox.Show(arg.HashCode.ToString())};
于 2012-12-10T15:09:01.820 に答える
1

MSDNに記載されているように、匿名の方法を使用できます。

// Create a handler for a click event
button1.Click += delegate(System.Object o, System.EventArgs e)
                   { System.Windows.Forms.MessageBox.Show("Click!"); };
于 2012-12-10T15:10:36.377 に答える
0

これは役に立つかもしれません:

this.TextBox1.TextChanged += (sender, eventargs) => Console.WriteLine("Do something here !!");
于 2012-12-10T15:15:16.163 に答える
0

メソッドを定義することもできますが、この場合はより読みやすいと思います。

TextBox1.TextChanged += TextBox1_TextChanged;

private void TextBox1_TextChanged(object s, EventArgs arg)
{
    MessageBox.Show(arg.GetHashCode().ToString());
}
于 2012-12-10T15:10:30.307 に答える
0

代わりに、非匿名メソッドを宣言できます。

void TextBox1_TextChanged(object s, EventArgs arg)
{
    MessageBox.Show(arg.HashCode.ToString());
}

void HandleEvent()
{
    TextBox1.TextChanged += TextBox1_TextChanged;
}
于 2012-12-10T15:11:27.083 に答える