如何从From 2更改表格1的标题?这是我的代码:
Form1中:
public void setTitle(string title)
{
this.Text = title;
}
窗体2:
private void buttonOk_Click(object sender, EventArgs e)
{
Form1 f1= new Form1();
f1.setTitle(textBoxTitle.Text);
this.Hide();
}
我做错了什么?
答案 0 :(得分:2)
您应该在Form2的构造函数中将Form1作为参数传递。
Form1 Form_one;
public Form2(Form1 form1):this()
{
Form_one = form1;
}
private void buttonOk_Click(object sender, EventArgs e)
{
Form_one.setTitle(textBoxTitle.Text);
this.Hide();
}
在你想要显示Form2的方法中,你应该这样调用;
Form2(this).Show();
答案 1 :(得分:0)
您应该拥有当前显示的Form1的实际实例。
在显示Form1时,在Form2中保留一个实例。 (我假设您正在从Form2显示Form1。如果没有,您应该在创建Form2实例时将Form1实例提供给Form2)
public class Form2 : Form
{
private Form1 form1;
private void OpenForm1()
{
form1 = new Form1();
form.Show()
}
}
然后,在该实例上调用setTitle():
private void buttonOk_Click(object sender, EventArgs e)
{
form1.setTitle(textBoxTitle.Text);
this.Hide();
}