c# 从 form2 添加标签
c# add label from 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
它是怎么做到的?
感谢
将form2中的所有控件添加到form1中:
foreach(Control control in form2form.Controls)
{
form1form.Controls.Add(control);
}
或者,如果您只想添加这两个内容,则有两种选择:
1. 将这两个控件public设为
public class Form2 : Form
{
//othercode
public Button button;
}
然后通过以下方式添加这些特定控件:
form1form.Controls.Add(form2form.button);
2:按名称添加,例如:按钮名称为"button",标签名称为"label".
form1form.Controls.Add(form2form.Controls.Find("button",true).FirstOrDefault();
如果您想从 form2form
访问 form1form
,您必须 public 引用 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代码:
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
它是怎么做到的?
感谢
将form2中的所有控件添加到form1中:
foreach(Control control in form2form.Controls)
{
form1form.Controls.Add(control);
}
或者,如果您只想添加这两个内容,则有两种选择: 1. 将这两个控件public设为
public class Form2 : Form
{
//othercode
public Button button;
}
然后通过以下方式添加这些特定控件:
form1form.Controls.Add(form2form.button);
2:按名称添加,例如:按钮名称为"button",标签名称为"label".
form1form.Controls.Add(form2form.Controls.Find("button",true).FirstOrDefault();
如果您想从 form2form
访问 form1form
,您必须 public 引用 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);
}