在Windows应用程序中将文本框值从一个表单传递到另一个表单

时间:2013-12-03 10:58:06

标签: c#

在Windows应用程序中我有两种形式:form1包含一个TextBox。我只想在form2中使用form1的文本框的值,所以在form2中我只是创建一个form1对象并尝试通过编写代码来访问textbox的值:

form1 f1=new form1();
string value=f1.textbox1.text

......但是价值还没来.....请帮帮我

1 个答案:

答案 0 :(得分:0)

创建Form1的新实例不会像新实例那样工作,而不是您正在使用的实例。正如上面的评论所示,最好的选择是为Form2创建一个自定义构造函数并接受那里的文本框值。

public Form2(string form1TextBoxValue)
{
    this.ValueFromForm1 = form1TextBoxValue;
}

因此,在Form1中,您可以在实例化时使用Form2中的值:

Form2 form2 = new Form2(this.textBox.Text);

或者,您可以将Form1实例传递给Form2。这样,您可以根据需要访问所有Form1值。这确实意味着Form2直接依赖Form1,应该避免这种情况。

// In Form2
public Form2(Form form1Instance)
{
    this.Form1Instance = (Form1)form1Instance;
}

// In Form1
Form2 form2 = new Form2(this);