//1
button1.Click += new RoutedEventHandler(button1_Click);
//2
button1.Click += button1_Click;
//3
button1.Click += delegate(System.Object o, RoutedEventArgs e)
{
System.Windows.MessageBox.Show("Click!"); //for winforms use System.Windows.Forms.Messagebox ...
};
//4
button1.Click += delegate
{
MessageBox.Show("Click!");
};
//5
button1.Click += (o, e) => MessageBox.Show("Click!");
Currently I use approach 2 and 5 exclusively. More information on pitfalls with No.5 avaliable at: http://stevenharman.net/blog/archive/2007/12/20/anonymous-delegates-events-and-lambda-fun.aspx