有没有办法在不创建新方法的情况下附加事件处理程序?我怀疑它看起来像这样:
TextBox1.TextChanged += new void(object s, EventArgs arg)
{
MessageBox.Show(arg.HashCode.ToString())
};
答案 0 :(得分:9)
TextBox1.TextChanged+= (s,arg)=>{MessageBox.Show(arg.HashCode.ToString())};
答案 1 :(得分:1)
您可以在MSDN中使用匿名方法documented:
// Create a handler for a click event
button1.Click += delegate(System.Object o, System.EventArgs e)
{ System.Windows.Forms.MessageBox.Show("Click!"); };
答案 2 :(得分:0)
您可以定义一种方法,在这种情况下我认为该方法更具可读性:
TextBox1.TextChanged += TextBox1_TextChanged;
private void TextBox1_TextChanged(object s, EventArgs arg)
{
MessageBox.Show(arg.GetHashCode().ToString());
}
答案 3 :(得分:0)
您可以改为声明非匿名方法:
void TextBox1_TextChanged(object s, EventArgs arg)
{
MessageBox.Show(arg.HashCode.ToString());
}
void HandleEvent()
{
TextBox1.TextChanged += TextBox1_TextChanged;
}
答案 4 :(得分:0)
这可能很有用:
this.TextBox1.TextChanged += (sender, eventargs) => Console.WriteLine("Do something here !!");