在表单之间传输信息

时间:2013-05-09 18:21:07

标签: c# forms multiple-forms

我已经在这个项目上工作了大约一个小时了,我被卡住了。我有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)。

帮助将不胜感激!

6 个答案:

答案 0 :(得分: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
}

答案 1 :(得分:1)

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

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

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

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

如果你想将一些东西转移到form4然后你可以在form4上创建一个公共变量,那么你可以在form3上做这样的事情:

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

然后在form4_load上你可以:

textbox2.text = variable;

答案 4 :(得分: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;
    }
}

}

答案 5 :(得分: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();