有没有办法修改文本框中的文本,或者其他形式的类似内容?
在我的程序中,我需要生成一个新的 Form2,并根据在 Form3 中输入的内容让所有文本框保存信息。到目前为止,我只做过:
Form2 form2 = new Form2();
form2.Show();
我只是不知道如何访问form2.textbox1.Text,例如,从form3。我在网上查过,但没有找到我想要的东西,我尝试了一些不同的东西,但都没有成功。
谢谢!:)
将实例传递Form2
到Form3
:
public Form3(Form2 referrer)
{
var txt = referrer.TextBox1Text;
}
然后在调用它时:
Form3 f3 = new Form3(this);
f3.Show();
你只需要确保你Form2
像这样构建一个属性:
internal string TextBox1Text { get { return textBox1.Text; } }
问题是每个表单中定义的控件都不是公共对象,因此您无法从表单外部访问它们。
为什么不在每个表单中定义一个公共方法来从您需要的控件中检索/设置您需要的值?
我认为这将是一个比暴露你的控件更好的方法。
假设您在 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();