将值从类发送到窗体

本文关键字:窗体 | 更新日期: 2023-09-27 18:31:54

我要做的是从类 a 值发送到 Form1 中的标签。Form1 已经在运行,所以我不能说像 Form1.Show("value")这样的东西;但我想要这样的东西:

Form1 frm1 = new Form1();
frm1.label1.text = "Hello World"; //<-- i want to send this.

在 VB 中是这样的:

Form1.Label1.Text = "Hello World";

那么这可以通过简单的方式完成吗?没有大代码?

将值从类发送到窗体

免责声明:这可能是您走错路的迹象。

也就是说,您不能这样做,因为控件是私有成员。但是,您可以通过属性公开它们:

//Form1.cs
public Label SuperLabel { get { return label1; } }
...
//Other.cs
frm1.SuperLabel.Text = "Hello World";

更好的是一种方法

//Form1.cs
public void SetSuperText(string text)
{
    label1.Text = text;
}
...
//Other.cs
frm1.SetSuperText("Hello World");

向窗体添加公共属性,并使用该属性设置窗体的标签。

public string LabelText {
    get { return Label1.Text; }
    set { Label1.Text = value; }
}

然后从课堂上:

Form1.LabelText = "Hello World";
标签属性中的

将"修饰符"设置为公开

只需创建一个具有返回值的方法,如下所示:

Public string SettingTheLabel()
{
   //something here
   return "LabelText";
}

然后将包含窗体上的标签文本设置为该方法

Label1.Text = SettingTheLabel();