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
访问form1form
, form2form
必须具有对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();