0

有没有办法修改文本框中的文本,或者其他形式的类似内容?

在我的程序中,我需要生成一个新的 Form2,并根据在 Form3 中输入的内容让所有文本框保存信息。到目前为止,我只做过:

Form2 form2 = new Form2();
form2.Show();

我只是不知道如何访问form2.textbox1.Text,例如,从form3。我在网上查过,但没有找到我想要的东西,我尝试了一些不同的东西,但都没有成功。

谢谢!:)

4

3 回答 3

2

将实例传递Form2Form3

public Form3(Form2 referrer)
{
    var txt = referrer.TextBox1Text;
}

然后在调用它时:

Form3 f3 = new Form3(this);
f3.Show();

你只需要确保你Form2像这样构建一个属性:

internal string TextBox1Text { get { return textBox1.Text; } }
于 2013-10-10T18:32:31.440 回答
1

问题是每个表单中定义的控件都不是公共对象,因此您无法从表单外部访问它们。

为什么不在每个表单中定义一个公共方法来从您需要的控件中检索/设置您需要的值?

我认为这将是一个比暴露你的控件更好的方法。

于 2013-10-10T18:34:36.367 回答
1

假设您在 Form3 后面的代码中实例化 Form2(调用“new”Form2())......

您可以在 Form2 中创建一个公共方法,该方法将提供您需要的可访问性。例子:

(在 Form2 中 - 后面的代码)

public SetTextboxTextProperty(string text)
{
    this.Textbox1.Text = text;
}

从表格 3:

Form2 form2 = new Form2();
form2.SetTextboxTextProperty("your data");
form2.Show();
于 2013-10-10T18:36:17.797 回答