在表单之间传递信息

本文关键字:信息 之间 表单 | 更新日期: 2023-09-27 18:12:58

我做这个项目已经有一个小时了,但是我卡住了。我有四张表格,但只有最后三张是相关的。在form 2中,我使用:

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

创建并显示表单3。Form3也有一个文本框是空的,我想把这个信息转移到Form4的标签。在表格3中,我使用与表格2中相同的cod来制作表格3。

我已经尝试了一些事情,并在论坛上搜索,但似乎没有工作…

     lblN2.Text = Form3.txtf.Text;

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

在表单之间传递信息

试试这样做(在Form3类中的代码):

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

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

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

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

对于表格2:

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

在Form3中,你应该有一个构造函数接受一个参数从Form2中获取值:

public void Form3(value-you-want-to-receive)
{
  //set the label text to the string received
}

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

Form4 _frm4 = new Form4();
_frm4.lblN2.Text = Form3.txtf.Text

On Form 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;
    }
}

}

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();

如果你想传递一些东西到form4那么你可以在form4上创建一个公共变量,然后你可以在form3上这样做:

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

然后在form4_load你可以:

textbox2.text = variable;