Из комментариев ясно, что у Form2 нет ссылки на Form1.
Вы не опубликовали никакого кода о том, как вы отображаете Form2, но вот пример того, как это может работатьпередав ссылку через конструктор:
public class Form2 : Form {
private Form1 _Form1;
public TestForm(Form1 form1) {
InitializeComponent();
_Form1 = form1; // <- this is the reference from Form1
}
}
Тогда ваше действие по удалению в Form2 будет выглядеть так:
private void button2_Click(object sender, EventArgs e) {
_Form1.Controls.RemoveByKey("button1");
}
При создании Form2 из Form1, это пример того, какбудет принято:
private Form2 _Form2;
private void button1_Click(object sender, EventArgs e) {
_Form2 = new Form2(this); // <- this is the reference of Form1 you are passing
_Form2.Show();
}