In C# 1.0, when you wanted to start a thread, you were obliged to write code like this: private void button1_Click(object sender, EventArgs e){ Thread t = new Thread(new ThreadStart(Method)); t.Start();} void Method(){ MessageBox.Show("Thread has started");} In C# 2.0, you can use the new feature that are anonymous methods private void button1_Click(object sender, EventArgs e){ Thread t2 = new Thread(delegate() { MessageBox.Show("Thread has started"); }); t2.Start();}Anonymous methods are usefull...