在 C# 中将一个 WindowsForm 标签访问到另一个窗体
本文关键字:标签 WindowsForm 访问 窗体 另一个 一个 | 更新日期: 2023-09-27 18:31:40
我正在使用两个窗口表单应用程序,我想从第二个表单设置第一个表单标签的值。但是当我在第二形式中访问第一个表单标签时,应用程序会显示此错误
Object reference not set to an instance of an object.
我正在使用此语句访问
login_form.ActiveForm.Controls["label_name"].Text = "Hello World";
有时我工作正常,但有时显示此错误
请解决我的问题。我会非常感谢你。
明智的做法是:
- 在第一种形式中公开一个属性,通过该属性可以对标签文本进行更改。
- 在第一个窗体中公开一个方法,您可以调用该方法来影响标签文本更改。
示例 #1:
public class Form1 : Form
{
public String LabelText
{
get { return label_name.Text; }
set { label_name.Text = value; }
}
}
//from Form2...
login_form.LabelText = "Hello World";
示例 #2:
public class Form1 : Form
{
public void SetLabelText(String TextToSet)
{
label_name.Text = TextToSet;
}
}
//from Form2...
login_form.SetLabelText("Hello World");
我不建议简单地将控件更改为Public
. 间接访问是可取的。