【问题标题】:Passing a textbox value from one form to another in windows application [duplicate]在Windows应用程序中将文本框值从一种形式传递到另一种形式[重复]
【发布时间】:2013-12-03 10:58:05
【问题描述】:

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

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

...但是价值没有到来.....请帮助我

【问题讨论】:

  • 在哪里创建 Form2?如果在 Form1 中创建,可以提供 TextBox 值作为构造函数参数。
  • 创建form1 对象时,textbox1.text 属性的值为""
  • 在提问之前你有没有做过ANY研究???

标签: c#


【解决方案1】:

创建Form1 的新实例将不起作用,因为它是一个新实例,而不是您正在使用的实例。正如上面的 cmets 建议的那样,最好的选择是为 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);

【讨论】:

    猜你喜欢
    • 2015-06-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 2012-03-11
    相关资源
    最近更新 更多