C# - 更改另一个表格的标题

时间:2015-11-16 12:08:28

标签: c# forms title

如何从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();
    }

我做错了什么?

2 个答案:

答案 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();
}