Button1 = new Button(); Button1.Text = "Remove"; Button1.ID = i.ToString(); Button1.Click += new EventHandler(RemoveButton_Clicked); lblGrid.Controls.Add( Button1 );But when this runs, and the button is clicked, "RemoveButton_Clicked" isn't called. Instead it acts as if one of the other static buttons (with its own event handler) on the page was clicked.