当我单击Form1(主窗体)中的按钮时,如何实现它,它将打开Form2,同时也会更改标签的文本(Label4)。
我目前的按钮代码:
Admin objFrmAdmin = new Admin();
this.Hide();
objFrmAdmin.Show();
我不想更改我只想添加它的表单的显示代码,所以当我单击按钮打开该表单时,它也会更改Form2中标签上的文本。
答案 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");