在C#中以另一种形式更改标签的文本?

Hun*_*ell 15 c# winforms

我有一个名为LabelX1的标签.这是在form2上.在form1上,我有一个按钮.我希望将按钮的文本传输到另一个表单的标签.我试过了

form2 frm2 = new form2();
frm2.labelX1.Text = this.button1.text;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.这样做有简单直接的方法吗?

Dav*_*vio 22

您需要公开您的标签或其财产.

在表格2中:

public string LabelText
{
    get
    {
        return this.labelX1.Text;
    }
    set
    {
        this.labelX1.Text = value;
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

form2 frm2 = new form2();
frm2.LabelText = this.button1.text;
Run Code Online (Sandbox Code Playgroud)


Eri*_*ang 8

您可以像这样修改Form2的构造函数:

public Form2(string labelText)
{
    InitializeComponent();
    this.labelX1.Text = labelText;
}
Run Code Online (Sandbox Code Playgroud)

然后在文本中创建Form2传递:

Form2 frm2 = new Form2(this.button1.text);
Run Code Online (Sandbox Code Playgroud)


ban*_*ing 6

或者你可以这样做>>

((Label)frm2.Controls["labelX1"]).Text = "test";
Run Code Online (Sandbox Code Playgroud)


Gen*_*rey 5

在form2中写这个

public void ChangeLabel(string s)
{
    labelX1.Text = s;
}
Run Code Online (Sandbox Code Playgroud)

然后你在哪里创建表单2执行此操作

form2 frm2 = new form2();
frm2.ChangeLabel(this.button1.text);
Run Code Online (Sandbox Code Playgroud)