正在将数据从Form2(textbox2)传输到Form1(textbox1)
本文关键字:传输 Form1 textbox1 textbox2 数据 Form2 | 更新日期: 2023-09-27 17:51:02
可能重复:
我想从Form2 控制Form1
我是C#
的新手,在谷歌上找不到我想要的答案,所以我希望这里有人能帮助我。我只是在练习将数据(或者pass,随便你怎么称呼它(从一个表单传输到另一个表单。
这是我的:
我有两种形式——Form1
和Form2
Form1
包含一个文本框(名为txtForm1
(和一个按钮(名为btnForm1
(Form2
包含一个文本框(名为txtForm2
(和一个按钮(名为btnForm2
(。
运行应用程序后,单击按钮btnForm1
,用户将打开Form2
。用户在文本框(txtForm2
(中写入的文本应传输到Form1
中的文本框(txtForm1
,哪个按钮被禁用(。
我该如何转账?
编辑时间:
好的,我需要明确的是,这是我所有的代码:
Form1(打开Form2的按钮(:
private void btnForm1_Click(object sender, EventArgs e)
{
new Form2().Show();
}
Form2(关闭Form2 我什么都没有了。(我是个新手( private void btnForm2_Click(object sender, EventArgs e)
{
this.Close();
}
创建一个公共变量,并将文本框中的值传递给它,然后传递给第二个表单。
public static string myVar;
myVar = txtForm2.Text;
当您返回到第一种形式时:txtForm1.Text = Form2.myVar;
在Form2中,您应该有一些类似的:
private void btnForm2_Click(object sender, EventArgs e)
{
this.Hide();
}
public String GettxtForm2()
{
return txtForm2.Text;
}
现在在form1中,您可以使用以下内容访问txtForm2:
Form2 form2 = new Form2();
//on click btnForm1 show that form2 where you can edit the txtForm2
private void btnForm1_Click(object sender, EventArgs e)
{
form2.Show();
}
//after you save the txtForm2 when you will focus back to form1 the txtForm1 will get the value from txtForm2
private void Form1_Enter(object sender, EventArgs e)
{
txtForm1.Text = Form2.GettxtForm2();
}
您可以很容易地修改所有这些逻辑可能发生的事件。。。
在Form1
:中
public void SetTextboxText(String text)
{
txtForm1.Text = text;
}
private void btnForm1_Click(object sender, EventArgs e)
{
var frm = new Form2(this); // pass parent form (this) in constructor
frm.Show();
}
在Form2
:中
Form _parentForm;
public Form2(Form form)
{
_parentForm = form;
}
private void txtForm2_TextChanged(object sender, EventArgs e)
{
_parentForm.SetTextboxText(txtForm2.Text); // change Form1.txtForm1.Text
}
试试这个;(
在Form1:上
private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2(textBox1.Text);
frm2.Show();
this.Hide();
}
表格2:
public partial class Form2 : Form
{
public string textBoxValue;
public Form2()
{
InitializeComponent();
}
public Form2(string textBoxValue)
{
InitializeComponent();
this.textBoxValue = textBoxValue;
}
private void Form2_Load(object sender, EventArgs e)
{
textBox2.Text = textBoxValue;
}