在表单之间传递信息
本文关键字:信息 之间 表单 | 更新日期: 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;