What you are looking, can be achieved with no other than Events, find in the MSDN explanations about events and how can be used.
In C# there are several kinds of GUI Controls, like Button Control, that has a number of events, like for example: click, mouseover, mousedown, doubleclick etc. In the MSDN help you can find the list of events supported for every control, along with the properties and methods.
So in your case, you'll probably want something along the line,
private void Form1_Load(object sender, EventArgs e)
{
Button button2 = new Button();
//Load button in container
//Loading events for control
button2.Click += new EventHandler(button2_Click);
}
private void button2_Click(object sender, EventArgs e)
{
//Do Something
}
So basically button2.Click += new EventHandler(button2_Click);, you are adding and EventHandler that points to button2_click, to the Click event of the newly created button.