C# 当用Form2上的按钮打开Form1.Text时,我如何更改它
我有2个表单,我想更改表单1.Text,当它运行时,打开一个按钮 表格2!!!!我没有举一个例子。 谢谢朋友们**C# 当用Form2上的按钮打开Form1.Text时,我如何更改它,c#,C#,我有2个表单,我想更改表单1.Text,当它运行时,打开一个按钮 表格2!!!!我没有举一个例子。 谢谢朋友们** public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 F2 = new Form2
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 F2 = new Form2();
F2.ShowDialog();
}
}
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void ChangeForm1Text_Click(object sender, EventArgs e)
{
Form1
}
}
一种可能的方法是将
Form1
的实例传递到Form2`上的构造函数中。因此,将此构造函数和字段添加到表单2中:
private readonly Form1 _parentForm1;
public Form2(Form1 parentForm1) : this()
{
_parentForm1 = parentForm1;
}
现在,当您在按钮单击中创建Form2时,请按如下方式创建它:
Form2 F2 = new Form2(this);
F2.ShowDialog();
然后,您可以在Form2实例中的任何位置使用\u parentForm1
引用其他表单。在这种特殊情况下(您需要引用所有者表单),有一个简单的shorcut,不需要保留第一个表单的本地实例
只需在ShowDialog调用中将Form1的实例作为所有者传递
private void button1_Click(object sender, EventArgs e)
{
Form2 F2 = new Form2();
F2.ShowDialog(this);
}
现在,您可以在Form2代码中引用属性所有者
private void ChangeForm1Text_Click(object sender, EventArgs e)
{
this.Owner.Text = "your new caption for form1";
}