Just to remove it from the controls list without actually destroying the button object:
Button myNewButton = new Button();
private void MyExistingButton_Click(object sender, EventArgs e)
{
myNewButton.Text = "ClickMe";
myNewButton.Location = new Point((Width - myNewButton.Width) / 2, (Height - myNewButton.Height) / 2);
myNewButton.Click += new EventHandler(myNewButton_Click);
Controls.Add(myNewButton);
}
void myNewButton_Click(object sender, EventArgs e)
{
MessageBox.Show("Hello World!");
}
private void MyExistingButton2_Click(object sender, EventArgs e)
{
if(Controls.Contains(myNewButton))
Controls.Remove(myNewButton);
}