/ / C # - Промяна на заглавието на друг формуляр - c #, формуляри, заглавие

C # - Промяна на заглавието на друг формуляр - c #, формуляри, заглавие

Как мога да променя заглавието на формуляр 1 от моя От 2? Ето моя код:

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 за отговор № 1

Трябва да преминете 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();

0 за отговор № 2

Трябва да имате действителното копие на Form1, което понастоящем се показва.

Докато показвате формуляр 1, запазвайте инстанция в негоФОРМА2. (Предполагам, че показвате Form1 от Form2.Ако не, трябва да предоставите формуляр 1 на Form2, като същевременно създавате копие на 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();
}