c#从form2添加标签

Form2代码:

public void button2_Click(object sender, EventArgs e) { Form1 form1form = new Form1(); Label asd = new Label(); asd.Text = "asdasasdasdasd"; form1form.Controls.Add(asd); Form2 form2form = new Form2(); form2form.close(); } 

我想在form2上的form1上添加新的标签和按钮

怎么做的?

谢谢

如果要从form2form访问form1formform2form必须具有对form1form公共引用。 在form1form声明属性,如下所示:

 public static form1form Instance { get; private set; } 

然后在form1form Load事件中设置Instance

 private void form1form_Load(object sender, EventArgs e) { Instance = this; } 

form2form

 public void button2_Click(object sender, EventArgs e) { Label asd = new Label(); asd.Text = "asdasasdasdasd"; form1form.Instance.Controls.Add(asd); } 

要将form2中的所有控件添加到form1:

 foreach(Control control in form2form.Controls) { form1form.Controls.Add(control); } 

或者,如果您只想添加这两个内容,有两个选项:1。将这两个控件公开

 public class Form2 : Form { //othercode public Button button; } 

然后通过以下方式添加这些特定控件

 form1form.Controls.Add(form2form.button); 

2:使用名称添加它们,例如:说按钮的名称是“按钮”,标签的名称是“label”。

 form1form.Controls.Add(form2form.Controls.Find("button",true).FirstOrDefault();