如何使点击按钮以其他形式更改标签文本?

时间:2017-08-17 08:23:52

标签: c#

当我单击Form1(主窗体)中的按钮时,如何实现它,它将打开Form2,同时也会更改标签的文本(Label4)。

我目前的按钮代码:

Admin objFrmAdmin = new Admin();
this.Hide();
objFrmAdmin.Show();

我不想更改我只想添加它的表单的显示代码,所以当我单击按钮打开该表单时,它也会更改Form2中标签上的文本。

2 个答案:

答案 0 :(得分:3)

更改Admin表单构造函数,如下所示:

//add parameter text
public Admin(string text)
{
    InitializeComponent();
    //change label 4 text
    this.Label4.Text = text;
}

改变你正式Admin形式的方式:

Admin objFrmAdmin = new Admin("text to show on label");
this.Hide();
objFrmAdmin.Show();

编辑:实现这一目标的另一种方法是在管理表单上创建公共方法并调用它。所以,保留没有参数的构造函数,就像它一样,并在Admin表单上创建公共方法,如下所示:

public void ChangeText(string text)
{
    this.Label4.Text = text;
    //put other code here if needed, ie. hide buttons or something like that
}

现在,只需在初始化Admin表单后调用该方法。

Admin objFrmAdmin = new Admin();
this.Hide();
objFrmAdmin.ChangeText("text to show");
objFrmAdmin.Show();

答案 1 :(得分:0)

您可以使用对象层次直接更改标签。

Admin objFrmAdmin = new Admin();
this.Hide();
objFrmAdmin.lblLabelToChange.Text = "Your Test Here";  //<= this line.
objFrmAdmin.Show();

如果标签没有出现在intellisense中,那么您可能需要将其公开。另一种方法是使用构造函数,并传递新的测试:

//Constructor for Admin form
public Admin(string newLabelText)
{
    this.lblLabelToChange.Text = newLabelText;
}

通过以下方式致电:

Admin objFrmAdmin = new Admin("The new text");