C# - 更改另一个窗体的标题
C# - Change title of another Form
如何从我的 From 2 更改 Form 1 的标题?这是我的代码:
表格 1:
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();
}
我做错了什么?
您应该拥有当前显示的 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();
}
您应该将 Form1 作为参数传递给 Form2 的构造函数。
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();
如何从我的 From 2 更改 Form 1 的标题?这是我的代码:
表格 1:
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();
}
我做错了什么?
您应该拥有当前显示的 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();
}
您应该将 Form1 作为参数传递给 Form2 的构造函数。
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();