从form2中的form1访问文本框值

时间:2012-11-26 00:55:14

标签: c# winforms

我在form1上有一个文本框。
我想要做的是从form1获取文本框的值到form2。
我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

我所做的是创建一个新项目并添加第二个表单,然后在两个表单中添加一个文本框,在Form1上使用一个按钮将其文本框的值推送到Form2。

要实现此目的,请在Form2上创建一个Property并从Form1设置它。像这样:

<强> Form1中

public partial class Form1 : Form
{
    Form2 frm2;
    public Form1()
    {
        InitializeComponent();
        frm2 = new Form2();
        frm2.Show(this);
    }

    private void button1_Click(object sender, EventArgs e)
    {
        frm2.ModifyTextBoxValue = textBox1.Text;
    }
}

<强>窗体2

public partial class Form2 : Form
{
    public Form2()
    {
        InitializeComponent();
    }

    public string ModifyTextBoxValue
    {
        get { return textBox1.Text; }
        set { textBox1.Text = value; }
    }
}

通过这种方式,如果需要,也可以使用相同的属性从 Form2中提取数据

答案 1 :(得分:0)

你可以使用.Tag属性(看看我的问题here 这样做的简单方法是这样的: 在form2中添加另一个textBox

在form1中执行此操作。此代码将texBox.text存储在form1

try
{
    private void change_Click(object sender, EventArgs e)
    {
         form1 frm1 = new form();
         frm1.Tag = this.textBox1.text;
         frm1.ShowDialog();
    }
}
catch (Exception ex)
{
   MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

然后在加载form2时写这个。此代码将使用texBox1

的值替换texBox2值
string myText = (string)this.Tag;
   this.textBox2.text = myText;