Form2 code:
public void button2_Click(object sender, EventArgs e)
{
Form1 form1form = new Form1();
Label asd = new Label();
To add all controls in form2 to form1:
foreach(Control control in form2form.Controls)
{
form1form.Controls.Add(control);
}
Or if you want to just add those two things, there are two options: 1. Make those two Controls public as so
public class Form2 : Form
{
//othercode
public Button button;
}
And then add these specific controls by:
form1form.Controls.Add(form2form.button);
2: Add them using the names, for example: say the name of the button is "button" and the name of the label is "label".
form1form.Controls.Add(form2form.Controls.Find("button",true).FirstOrDefault();
If you want to access form1form from form2form you must have public reference to form1form. Declare property in form1form like below:
public static form1form Instance { get; private set; }
Then set Instance in Load event of form1form:
private void form1form_Load(object sender, EventArgs e)
{
Instance = this;
}
In form2form:
public void button2_Click(object sender, EventArgs e)
{
Label asd = new Label();
asd.Text = "asdasasdasdasd";
form1form.Instance.Controls.Add(asd);
}