0

我已经在这个项目上工作了大约一个小时,但我陷入了困境。我有 4 个表格,但只有最后 3 个是相关的。在表格 2 中,我使用:

    this.Visible = false;
    Form3 Form3 = new Form3();
    Form3.Show();

创建和显示表单 3。Form3 也有一个空文本框,我想将该信息传输到 Form4 中的标签。在表格 3 中,我使用与表格 2 相同的代码来制作表格 3。

我已经尝试了几件事并在论坛上进行了搜索,但似乎没有任何效果......

     lblN2.Text = Form3.txtf.Text;

我想将用户在 Form3 中的文本框(txtf)中写入的文本传输到 Form4 中的空标签(lblN2)。

4

6 回答 6

1

根据您的信息,我认为您想将 form2 的值发送到 form3,您可以修改构造函数(作为解决方案)以将 form2 的值发送到 form3。这是一个示例。

对于表格 2:

this.Visible = false;
Form3 frm = new Form3(value-you-want-to-send);
frm.Show();

在 Form3 中,您应该让构造函数接受参数以从 Form2 AS 中获取值:

public void Form3(value-you-want-to-receive)
{
  //set the label text to the string received
}
于 2013-05-09T18:27:35.503 回答
1

尝试这样的事情(Form3 类中的代码):

    Form4 frm4 = new Form4();
    frm4.lblN2.Text = this.txtf.Text;
frm4.Show();

替代方法是修改 Form4 中的构造函数方法以接受字符串参数并按如下方式调用它:

 Form4 frm4 = new Form4(this.txtf.Text);
    frm4.Show();
于 2013-05-09T18:29:01.287 回答
1

您可能应该在语句中指定 Form4,例如:

Form4 _frm4 = new Form4();
_frm4.lblN2.Text = Form3.txtf.Text
于 2013-05-09T18:31:12.597 回答
0

在表格 3...

    private void button1_Click(object sender, EventArgs e)
    {
        Form4 frm = new Form4(textBox1.Text);
        frm.Show();
    }

在表格 4...

public partial class Form4 : Form
{
    private string _valueFromOtherForm;
    public Form4()
    {
        InitializeComponent();
    }

    public Form4(string valuePassed)
    {
        InitializeComponent();
        _valueFromOtherForm = valuePassed;
    }

    private void Form4_Load(object sender, EventArgs e)
    {
        label1.Text = _valueFromOtherForm;
    }
}

}

于 2013-05-09T18:27:48.290 回答
0

Form4中,编写如下方法:

public void ReceiveTextFromAnotherForm(string theText)
{
  //set the label text to the string received
}

Form3中,执行以下操作:

Form4 theForm4 = new Form4();
theForm4.ReceiveTextFromAnotherForm(this.txtf.Text);
theForm4.Show();
于 2013-05-09T18:28:26.917 回答
0

如果您想将某些内容传输到 form4,那么您可以在 form4 上创建一个公共变量,然后您可以在 form3 上执行以下操作:

this.hide();
form4 form4 = new form4();
form4.variable = textbox1.text;
form4.show();

然后在 form4_load 你可以:

textbox2.text = variable;
于 2013-05-09T18:25:42.600 回答